将JSON对象写入现有的.json文件

时间:2016-12-09 07:07:07

标签: javascript php jquery json ajax

编辑:我的错误检查显示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";
 }

1 个答案:

答案 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";
 }