sunz_J
2019-07-18 11:11
采纳率: 100%
浏览 1.3k

怎么样才能修改并保存json文件 ajax为什么行不通

$.ajax({
        type: "POST",
        url: "../file/json/DataEdit/TscPers.json?+Math.random()",
        dataType:'json',
        success: function (JsonObj) {
            //测试获取json数据

            JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"]=[1,1,1];  //把json文件中的PortNo修改为[1,1,1]
            let DetConfigJsonObj = JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"];
            console.log("JSON"+DetConfigJsonObj);//打印出来验证一下
        },
        error:function(){
            //
            console.log("errorJSON")
        }
    });

打印出来是1,1,1 但是我看json文件还是初始值 也就是没有真的改成功 请教各位行业的专家,我怎么才能实现修改json文件

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 易烊千玺的女朋友 2019-07-18 11:20
    已采纳

    你获取的是后台传给前端的json数据没错,但并不是你的json文件本身,
    你要修改json文件的内容你可以在后台修改,利用fs模块的修改功能

    打赏 评论
  • chinarealone 2019-07-18 11:22

    内存修改了,但是没有进行序列化,所以磁盘物理文件不会修改。能够修改机器文件内容,需要后台程序才具备的权限,所以这个操作要调用后台接口完成。

    打赏 评论
  • 蔡欣霖 2019-07-19 16:42

    JSON文件储存在后台服务器中,你前端调用ajax只能读取json文件,并不能改变服务器中存储的JSON数据

    打赏 评论
  • JTTandZH 2019-07-19 17:03

    $.ajax({
    type: "POST",
    url: "../file/json/DataEdit/TscPers.json?+Math.random()",
    dataType:'json',
    success: function (JsonObj) {
    //测试获取json数据
    var JsonObj2 = JsonObj["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"]=[1,1,1]; //把json文件中的PortNo修改为[1,1,1

    let DetConfigJsonObj = JsonObj2["LampGroup"]["North"]["TurnAroundLamp"]["PortNo"];
    console.log("JSON"+DetConfigJsonObj);//打印出来验证一下
    },
    error:function(){
    //
    console.log("errorJSON")
    }
    });

        定义一个新的就好了
    
    打赏 评论
  • 射手座cl 2019-07-19 18:06

    改文件为什么要交给前台,直接在后台不行吗

    打赏 评论
  • sunz_J 2019-07-22 22:01

    谢谢各位大佬的耐心解答 很想每个人都采纳 小白不太懂我

    打赏 评论
  • zt13502162671 2019-07-23 14:27

    凡是读写文件的,前端除了ie没人可以实现,因为这个问题和用户安全有关,如果允许这么做的话,你电脑的文件人家可以夏季二稿了

    打赏 评论

相关推荐 更多相似问题