使用Ajax修改和保存JSON文件中的数据

时间:2016-07-17 18:13:14

标签: javascript jquery json ajax

首先,我的 .json 文件:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div class="tab-block">

  <div class="tabs">
    <div class="tab item">tab1</div>
    <div class="tab item">tab2</div>
    <div class="tab item">tab3</div>
    <div class="tab item">tab4</div>

  </div>

  <div class="box big-cover-box">Content1</div>
  <div class="box big-cover-box">Content2</div>
  <div class="box big-cover-box">Content3</div>
  <div class="box big-cover-box">Content4</div>

</div>

这是我的ajax调用,用于显示对象中的每个名称。

{           
    "ids": [1,2],
    "names": ["John Richards", "Doe Williams"],                     
    "skills": [ "Senior Software Engineer", "Junior Software Developer"]

}

我有一个包含3个字段和一个按钮的表单,我用它来提交新数据。问题是我无法修改该json文件并提交该数据。

$.ajax({ 
    dataType: "json",
    url: "entries.json",
    success: function(data){
        for (var i = 0; i < data.names.length; i++){
            console.log(data.names[i]);
        }
    }
});

修改的意思是基本上将 id fullName prof 插入到json和的相应字段中使用新增值附加保存。任何见解?我被卡住了。拉是好的。如何将数据推送到.json文件?如果我错过了提供任何重要的信息,请告诉我。我使用ajax工作比较新。

提前致谢!

P.S:如果有人想知道,我已经使用数据库制作了这个项目。

1 个答案:

答案 0 :(得分:2)

您无法在浏览器中仅使用JavaScript写入JSON文件。但是在浏览器中使用JavaScript,您可以编写Document.cookie并写入Window.localStorage

在浏览器的localStorage中写道:

// Form input
var id = $("#empID").val();
var fullName = $("#empFullName").val();
var prof = $("#empProf").val();

var obj = {
    "ids": id,
    "names": fullName,
    "skills": prof
};
localStorage.setItem('myJavaScriptObject', JSON.stringify(obj));

要从localStorage中检索对象,您可以执行以下操作:

var obj = JSON.parse(localStorage.getItem('myJavaScriptObject'))

您可以做的其他事情是使用服务器端技术在后端创建服务,如:NodeJS,Ruby on Rails,PHP,JAVA等...来处理JSON文件中的写入数据。

  • 然后从浏览器发出POST请求,将表单输入数据发送到服务的端点,数据可以保存到JSON文件中。

希望这可以提供帮助。