1

我在将数据从 WinJS.xhr 发布到 PHP 脚本时遇到了一些问题。"obj" 是一个字符串化的 JSON 对象

WinJS.xhr({
            type: "POST",
            url: dataUrl,
            headers: { "Content-type": "application/x-www-form-urlencoded" },
            data: obj,
        })

但是 $_POST 变量始终为空。

我试过改变内容类型,转义对象但没有运气:(

4

2 回答 2

3

发布 json 时的内容类型通常应该是 application/json

其次,确保你“字符串化”你的 json 对象。

基于:将 JSON 数据发布到 Windows 8 中的 Web 服务


WinJS.xhr({
            type: "post",
            url: dataUrl,
            headers: { "Content-type": "application/json" },
            data: JSON.stringify(obj)
        })
于 2013-09-30T06:08:15.830 回答
0

想出了一个解决方案。

万一有人遇到同样的问题,我通过从 xhr 中删除标头并使用以下代码获取发布数据@服务器端来使其工作:

$data = file_get_contents('php://input');
$data = (array) json_decode($data);
于 2013-09-26T07:11:58.510 回答