如何使用Ajax JQuery.each()获取JSON值?

时间:2015-03-31 12:15:30

标签: javascript jquery ajax json loops

这是我的第一个问题!使用Ajax的新手,并遇到了一个问题,也许有人可能会发现我做错了什么。

    var featuredList;
    $.ajax({
        url: "myurl",
        type: 'GET',
        success: function(result){
            featuredList = JSON.stringify(result);

            alert(result);

            $.each( result, function( key, value ) {
                alert('not working');
            });
        },
                error: function(){alert('error');}
    });

我之前走过这条路没有任何问题,这次我无法进入循环。警报(结果)正在返回我的数据。

谢谢!

8 个答案:

答案 0 :(得分:1)

<强>您好

希望这可以帮助您处理从AJAX请求收到的JSON数据,请尝试以下代码:

jQuery.ajax({
    url:'myurl',
    dataType: "json",
    data:{
        classId:'C001'
    },
    type: "GET",

    success: function(data) {
        for (var j=0; j < data.length; j++) {

            //syntax to get value for given key
            //data[j].yourKey

            var userId = data[j].userId;  
            var name = data[j].name;
            var address = data[j].address;
        }
    }
});

谢谢,

〜CHANDAN

答案 1 :(得分:0)

根据你的代码尝试这样做:它应该工作

var data = JSON.parse(result);//here result should be json encoded data
        $.each( data, function( key, value ) {
            alert(value);
        });

答案 2 :(得分:0)

使用jQuery promises,为您提供更多语义和可读代码

var featuredList;
$.getJSON("myurl", {"optional": "data"})
    .done(function(data){
        // successful ajax query
        $.each( data, function( key, value ) {
            // do whatever you want with your iterated data.
        });
    });
    .fail(function(){
        // catch errors on ajax query
    });

答案 3 :(得分:0)

我是这样做的

$.getJSON('url',                       
    function(dataList) {   // on server side I do the json_encode of the response data 
        if(dataList !== null) {
            $.each(dataList, function(index, objList ) {
                // rest of code here 
            });
        }
 });    

希望这也适合你。

答案 4 :(得分:0)

function getArray(){
    return $.getJSON('url');
}
var gdata = [];


getArray().then(function(json) {

    $.each(json, function(key, val) {
        gdata[key] =  val ;
    });

    console.log(gdata);

我有同样的问题需要2天才能得到解决方案。 您必须解析promise并返回json对象才能访问该值。

答案 5 :(得分:0)

您可以使用开源项目http://www.jinqJs.com

轻松完成此操作
/* For Async Call */
var result = null;
jinqJs().from('http://.....', function(self){
  result = self.select();
});

/* For Sync Call */
var result = jinqJs().from('http://....').select();

答案 6 :(得分:0)

你也可以使用$ .Json来获得你的解决方案,这是一个例子

&#13;
&#13;
 $.getJSON('questions.json', function (data) {
   
   $.each(data,function(index,item){
     
      console.log(item.yourItem); // here you can get your data
     
     }
   
   }
&#13;
&#13;
&#13; 如果需要,您可以使用或打印索引。它显示了数据索引。

希望它可以帮到你,我完全不确定你的要求与否,但我已尽力解决它。

答案 7 :(得分:-1)

这将起作用,因为ajax调用的结果是一个字符串。

$.each($.parseJSON(result), function( key, value ) {
   alert('This will work');
});