小编典典

通过Ajax将Javascript对象发送到PHP

ajax

我正在通过失败学习Ajax并碰壁:

我有一个用Javascript编写的数组(如果有关系,该数组将根据用户选中的复选框存储数字ID)。

我有一个函数,当用户单击“保存”按钮时被调用。功能如下:

function createAmenities() {
    if (window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome and Opera
        xmlhttp = new XMLHttpRequest();
    }
    else {
        //code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById('message').innerHTML = xmlhttp.responseText;
        }
    }

    var url = "create_amenities.php";

    xmlhttp.open("GET", url, true);

    xmlhttp.send();

}

我的问题是: 我可以在此函数中添加什么以将数组拉入要调用的php脚本(“ create_amenities.php”)?

此外,我应该尝试使用JSON吗?如果是这样,我如何通过ajax发送JSON对象?

提前致谢。


阅读 269

收藏
2020-07-26

共1个答案

小编典典

如果数组的维数大于1,或者是关联数组,则应使用JSON。

Json将完整的数组结构转换为字符串。这个字符串可以很容易地发送到您的php应用程序,并转回一个php数组。

有关json的更多信息:http :
//www.json.org/js.html

var my_array = { ... };
var json = JSON.stringify( my_array );

在php中,您可以使用json_decode解码字符串:

http://www.php.net/manual/zh/function.json-
decode.php

var_dump(json_decode($json));
2020-07-26