在javascript中使用json数据导致问题

using json data in javascript causing troubles

本文关键字:数据 问题 json javascript      更新时间:2023-09-26

我有一个json编码的结果作为

{  
    "result":[  
        {  
            "CODE":"STC'/R'/935",
            "WAY":"In",
            "DATE":"2016-02-19",
            "TYPE":"Re-Entry",
            "TKTP":"NA",
            "TIME":"2016-02-23 17:52:37"
        },
        {  
            "CODE":"5'/105",
            "WAY":"In",
            "DATE":"2016-01-30",
            "TYPE":"Re-Entry",
            "TKTP":"NA",
            "TIME":"2016-02-23 17:52:37"
        },
        {  
            "CODE":"356",
            "WAY":"In",
            "DATE":"2016-02-06",
            "TYPE":"Re-Entry",
            "TKTP":"NA",
            "TIME":"2016-02-23 17:52:37"
        },
        {  
            "CODE":"FCC'/ETC'/01",
            "WAY":"In",
            "DATE":"2016-02-10",
            "TYPE":"Re-Entry",
            "TKTP":"NA",
            "TIME":"2016-02-23 17:52:37"
        },
        {  
            "CODE":"3'/739",
            "WAY":"In",
            "DATE":"2016-02-03",
            "TYPE":"Re-Entry",
            "TKTP":"NA",
            "TIME":"2016-02-23 17:52:37"
        }
    ]
}

当我尝试在javascript中迭代它时,它并没有被超越。希望有人帮忙。我已经花了一整天的时间在谷歌上搜索了

function bringdata(){
    $.ajax({
        url:'report_entry.php',
        type:"POST",
        data:{nameV:$('#fq').val()},
        async: false,
        success: function(data){                
            $.each(data, function(i,post){
                $("#magix").append("<li>+post.CODE+</li>");
            });
        }
    });
}

您没有正确连接字符串。

$("#magix").append("<li>" + post.CODE + "</li>");

如果你没有正确地关闭引号,你只会制作一个包含+s的字符串。

此外,如果您的数据与发布的JSON匹配,那么您需要访问dataresult属性来获取数组。

$.each(data.result, function(i, post) {
  $("#magix").append("<li>" + post.CODE + "</li>");
});

修复中的这些行

data = JSON.parse(data);
$.each(data.result, function(i,post){
    $("#magix").append("<li>"+post.CODE+"</li>");
});

或者不使用jquery $.each

data = JSON.parse(data);
data.result.forEach(function(post){
    $("#magix").append("<li>"+post.CODE+"</li>");
});

在@zohaib-ijaz的帮助下,我可以像一样纠正它

function bringdata() {
  $.ajax({
    url: 'report_entry.php',
    type: "POST",
    data: {
      nameV: $('#fq').val()
    },
    async: false,
    success: function(data) {
      var divition = $('#magix');
      var bine = "bineesh";
      var count = 0;
      obj = JSON.parse(data);
      $.each(obj.result, function(i, post) {
        //alert("success");
        divition.append('<li>Name:' + obj.result[count].CODE + '</li>');
        count = count + 1;
      });
    }
  });
}