微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 无法在ajax响应后循环对象

我知道这个问题已经被问到了,但我找不到我想要的答案.

我试图循环在ajax响应之后以JSON数据格式获得的数据.
我的Javascript代码是:

function ajaxMe(){
    $(function(){
      $.ajax({
        type : 'GET',
        url : 's-test.PHP'
      }).done(function(data){
        values = [data];
        alert(data)
      })
    });
  }

在成功接收到值变量数据后,我试图在控制台中使用console.log(JSON.stringify(values))打印它,结果为:

["\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.320850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.420850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.520850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.620850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.720850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.820850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-0.920850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-1.320850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-2.320850\" , \"name\" : \"my corporation\"},\r\n  {\"lat\" : \"51.508742\", \"ln\" : \"-3.320850\" , \"name\" : \"my corporation\"}\r\n"]

代替

[{"lat" : "51.508742", "ln" : "-0.320850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.420850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.520850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.620850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.720850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.820850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-0.920850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-1.320850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-2.320850" , "name" : "my corporation"},
  {"lat" : "51.508742", "ln" : "-3.320850" , "name" : "my corporation"}]

使用forEach时无法遍历此对象:

values.forEach(function(v, i){
    alert(i);
});

它是如何工作的.
谢谢.

解决方法:

首先在jquery ajax代码添加一行简单的行
dataType:’json’

$.ajax({
        type: 'GET',
        url: 's-test.PHP',
        dataType: 'json',
        success: function (data) {               
            $.each(data, function (key, value) {                     
                alert(value.lat);
            });               
        }
    });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐