编辑:我的错误检查显示php正在执行,但是当我检查我的.json文件时,它仍然和以前一样。
我提前道歉,因为之前已经提出这个问题,但是我花了好几个小时尝试不同的事情而且都没有。希望这可能会帮助处于类似情况的人。我试图从用户输入向我现有的json对象追加一个新条目,并将更新的json对象写回文件。最后一部分是给我带来麻烦的。
我在这里使用ajax将我的json对象发送到php文件
$.getJSON("http://existing.json", function(data){
//append new entry to previous json array
data['posts'].push(objectt);
//confirming that new object is correct
console.dir(data);
//Sending json object to .php file so it can write to .json file
$.ajax({
type : "POST",
url : "json.php",
//data : data, this was changed to
data : {json:data}, //by the suggestion of suggested by madalin ivascu
dataType: 'json'
});
执行上面的代码块,控制台中不会显示任何错误。这是我的json.php文件。在下一个代码块执行后,我的.json文件没有新条目。
$json = $_POST['json'];
if ($_POST['json'])
{
$file = fopen('simple.json','w+');
fwrite($file, $json);
fclose($file);
echo: "File was updated";
}
else
{
// user has posted invalid JSON, handle the error
print "Error json was null";
}
答案 0 :(得分:3)
更改data : {json:data},
从php
返回一些内容 $json = $_POST['json'];
if (json_decode($json) != null)
{
$file = fopen('simple.json','w+');
fwrite($file, $json);
fclose($file);
echo "File updated";
}
else
{
// user has posted invalid JSON, handle the error
print "Error json was null";
}