javascript - 通过 POST 发送一个 JavaScript 对象数组

标签 javascript arrays json post google-chrome-extension

我有一组对象要发送到我的 PHP 脚本。在发送数组之前,我可以访问其中的所有数据,一切都在那里。一旦到达 PHP var_dump 返回 NULL。我不太确定如何发送数据。

chrome.storage.local.get('object', function (object) {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            alert(xmlhttp.responseText);
        }
    }

    xmlhttp.open("POST", "http://example.com/php.php", true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    var uid = 2;

    JSON.stringify(object);
    xmlhttp.send("json=" + object + "&uid=" + uid);
});

数组:

var obj = [
    {
        "key": "val",
        "key2": "val2"
    },
    {
        "key": "val",
        "key2": "val2"
    }
]

obj.push({"key":val,"key2":val2});
chrome.storage.local.set({'object':obj});

最佳答案

这一行:

JSON.stringify(object);

没有任何用处:您正在丢弃 JSON.stringify() 的返回值。相反:

object = JSON.stringify(object);

会保留它。

你真的应该也对你的参数进行编码:

xmlhttp.send("json=" + encodeURIComponent(object) + "&uid=" + encodeURIComponent(uid));

关于javascript - 通过 POST 发送一个 JavaScript 对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25652071/

相关文章:

javascript - 网站上半部分的内容与移动设备的下半部分重叠

javascript - 数组如何工作(Javascript)?

objective-c - 返回数组中* Fraction对象之和的函数不起作用

java - 如何使用数组列表解析 json 响应

javascript - 如何在 socketio 返回中中继 PHP 函数/变量

arrays - 从 JSON 解析数组内的字典获取数据

javascript - 在成功的 AJAX 调用和 php echo 的响应后附加数据并添加类

javascript - 使用事件处理程序时出现全局变量问题(基本 Javascript)

java - 如何在 Java 中自动填充数组。每个字符的具体编号

javascript - 将我的node.js 模块集成到express.js 应用程序