更新Json文件并将数据发送到php

更新Json文件并将数据发送到php,php,json,Php,Json,我想修改一个JSON文件,但当我看到结果文件时,我发现修改没有完成,内容仍然相同。这是我的功能代码: ... var res=null; var data; function reqAjax(){ $.getJSON( "my_data.json", function(data) { $.each( data.features, function( key, val ) { $.each( val.geometry.coordina

我想修改一个JSON文件,但当我看到结果文件时,我发现修改没有完成,内容仍然相同。这是我的功能代码:

...
var res=null;
var data;

function reqAjax(){
    $.getJSON( "my_data.json", function(data) {     
          $.each( data.features, function( key, val ) {
            $.each( val.geometry.coordinates, function( key2, val2 ) {
                //translate gps coords in WGS84
                res = proj4(source,dest,val2);
                val2 = res;
            });
          });

         $.ajax({
            type: 'POST',
            url: 'modify_json.php',
            data: 'data='+ $.toJSON(data),
            dataType: 'text',
            success: function(reponse){ 
                alert(reponse);
            },
            error: function(objet,status,error){console.log(objet);console.log(status);console.log(error);alert('Erreur');}

        });

    });

}
</script>
这是我的modify_json.php文件:

if(isset($_POST['data'])){


    file_put_contents('test2.json', ($_POST['data']));

}
你知道怎么了吗? 欢迎提出任何建议:


非常感谢您的帮助。

将您的javascript更新为:

$.ajax({
    type: 'POST',
    url: 'modify_json.php',
    data: { newData: $.toJSON(data) },
    dataType: 'text',
    success: function(reponse){ 
        alert(reponse);
    },
    error: function(objet,status,error){console.log(objet);console.log(status);console.log(error);alert('Erreur');}
});
并将您的PHP更新为:

if (isset($_POST['newdata'])){
    file_put_contents('test2.json', $_POST['newData']);
}

您正在将数据写入与读取数据不同的文件。这是你的意图吗?另外,你真的希望人们能够以如此不安全的方式更改你服务器上的文件吗?目前我只是在做测试,因为我还没有完成我的应用程序的编码。在最终版本中,我希望注册用户上传这些文件,并将其修改为WGS84 coords。正如jQuery文档所述,数据可以是字符串或纯对象。对象将被解析为字符串,因此您的代码不会有任何区别。我尝试过,但在新文件中仍然没有进行修改。可能是我的javascript/jquery代码有问题。谢谢你的帮助!
if (isset($_POST['newdata'])){
    file_put_contents('test2.json', $_POST['newData']);
}