我正在开发一个需要在.json文件中将数据存储在服务器上的网页。
这是我到目前为止所尝试的内容:
Javascript代码:
// variable j = our json
var j;
function loadDoc(){
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
j = xmlhttp.responseText;
}
}
xmlhttp.open("GET","things.json",true);
xmlhttp.send();
}
loadDoc();
function rewrite(){
var xhr;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
xhr = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 8 and older
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
};
};
xhr.open("POST", "write.php", true);
xhr.send("data=" + j);
};
PHP文件:
<?php
$data = $_POST['data'];
file_put_contents('things.json', $data);
?>
注意,在我的代码的其他部分中,j
变量已更改。
我的问题是PHP脚本将JSON文件留空后。我做错了吗? php是否正确接收JSON?如果是这样,我该如何解决?
干杯!
如果你投票,请告诉我原因。
答案 0 :(得分:0)
要像HTML表单一样POST数据,请使用setRequestHeader()添加HTTP标头。 (w3school page) 所以一定是: xmlhttp.setRequestHeader( “内容类型”, “应用/ JSON”);