Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JSON中保存和检索数据_Javascript_Json_Ajax_Post_Get - Fatal编程技术网

Javascript 在JSON中保存和检索数据

Javascript 在JSON中保存和检索数据,javascript,json,ajax,post,get,Javascript,Json,Ajax,Post,Get,我有一个HTML文件,其中有一个输入,用户可以输入他的姓名,另一个输入,用户可以输入他的年龄,然后是一个按钮和一个列表: <p>name: <input type="text" id="name"></p> <p>drink: <input type="text" id="age"></p> <button id="post">Submit</button> <ul id="output">

我有一个HTML文件,其中有一个输入,用户可以输入他的姓名,另一个输入,用户可以输入他的年龄,然后是一个按钮和一个列表:

<p>name: <input type="text" id="name"></p>
<p>drink: <input type="text" id="age"></p>
<button id="post">Submit</button>
<ul id="output"></ul>
我有一个JavaScript文件,其中我将ajax与jQuery结合使用:

$(function(){

  var $output = $('#output');
  var $name = $('#name');
  var $age = $('#age');
  $.ajax({
    type: 'GET',
    url: 'data.json',
    success: function(data){
      data = JSON.parse(data);
      $.each(data, function(i,item){
        $output.append('<li>name: '+item.name+', age: '+item.age+'</li>');
      });
    },
    error: function(){
      alert('error loading items');
    }
  });

  $('#post').on('click',function(){

    var object = {
      name: $name.val(),
      drink: $drink.val()
    }

    $.ajax({
      type: 'POST',
      url: 'data.json',
      data: object,
      success: function(newItem){
        $output.append('<li>name: '+newItem.name+', age: '+newItem.age+'</li>');
      },
      error: function(){
        alert('error saving items');
      }
    });

  });

});

我检查了JSON代码,但没有找到错误。如果在本地主机上运行代码,则不会收到错误消息,但会显示值​​未定义,不会保存在JSON文件中

$.ajax({type:'POST',url:'data.json',…
.Hm。告诉我们一些关于您的“服务器”的信息?你真的需要一个。在你尝试解析它之前,
数据的实际值是多少?只是为了验证,你确实有一些服务器接受POST请求并修改文件?你不能直接读/写服务器文件,除非你有一些服务器基本上就是这样做的。删除
data=JSON.parse(data);
并将
数据类型:'json'
添加到ajax选项谢谢!现在可以从json文件获取数据了,但是我的新值​​仍然未定义,并且它们未存储在JSON文件中。
$.ajax({type:'POST',url:'data.JSON',…
.Hm。请告诉我们一些有关您的“服务器”的信息?你真的需要一个。在你尝试解析它之前,
数据的实际值是多少?只是为了验证,你确实有一些服务器接受POST请求并修改文件?你不能直接读/写服务器文件,除非你有一些服务器基本上就是这样做的。删除
data=JSON.parse(data);
并将
数据类型:'json'
添加到ajax选项谢谢!现在可以从json文件获取数据了,但是我的新值​​仍然未定义,并且未存储在JSON文件中。
$(function(){

  var $output = $('#output');
  var $name = $('#name');
  var $age = $('#age');
  $.ajax({
    type: 'GET',
    url: 'data.json',
    success: function(data){
      data = JSON.parse(data);
      $.each(data, function(i,item){
        $output.append('<li>name: '+item.name+', age: '+item.age+'</li>');
      });
    },
    error: function(){
      alert('error loading items');
    }
  });

  $('#post').on('click',function(){

    var object = {
      name: $name.val(),
      drink: $drink.val()
    }

    $.ajax({
      type: 'POST',
      url: 'data.json',
      data: object,
      success: function(newItem){
        $output.append('<li>name: '+newItem.name+', age: '+newItem.age+'</li>');
      },
      error: function(){
        alert('error saving items');
      }
    });

  });

});
SyntaxError: JSON Parse error: Unexpected identifier "object"