繁体   English   中英

PHP没有收到Ajax发送的JSON

[英]PHP not receiving JSON send by Ajax

我正在尝试使用Ajax将一些JSON数据发送到PHP文件。 这是我的JavaScript代码

function updateJSON(){
    var xmlhttpa;
    if (window.XMLHttpRequest){
        xmlhttpa = new XMLHttpRequest();
    } else {
        xmlhttpa = new ActiveXObject("Microsoft.XMLHTTP");
    };
    xmlhttpa.onreadystatechange = function(){
        if (xmlhttpa.readyState==4 && xmlhttpa.status==200){
            console.log("Sent")
        }
    };
    xmlhttpa.open("POST", "update.php", true);
    xmlhttpa.send("json=" + JSON.stringify(json));
};

这是处理请求的PHP文件

<?php
    $json = $_POST["json"];
    file_put_contents('data.json', $json);

不幸的是,这不起作用。 我该如何修复我的代码?

拜托,没有jQuery。

谢谢!

此外,如果你投票,请告诉我为什么这样我可以改善这个问题。

POST时,应该添加设置Content-type行。试试这个:

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

另外:

xmlhttp.send("json=" + encodeURIComponent(JSON.stringify(json)));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM