我正在尝试使用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。
谢谢!的
此外,如果你投票,请告诉我为什么这样我可以改善这个问题。
答案 0 :(得分:2)
当您Content-type
数据时,应添加设置为POST
的行。请尝试:
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
另外:
xmlhttp.send("json=" + encodeURIComponent(JSON.stringify(json)));