2012-08-28 51 views
0

我想循环下面在我的查询中收到的键/值对,并控制出电子邮件地址。我做错了什么?循环的键/值对

JSON我接收...

{"ERRORS":[],"DATA":[{"INCENTIVEID":"1","CREATED":"","EMAIL":"email","RECIPIENTID":"1","NAME":"glyn","ACTIVE":0,"MODIFIED":"","MOBILE":"11111111111"},{"INCENTIVEID":"1","CREATED":"","EMAIL":"eee","RECIPIENTID":"2","NAME":"edem","ACTIVE":0,"MODIFIED":"","MOBILE":"11111111111"}],"MESSAGES":[]} 

当前脚本

$(document).ready(function(){ 
     var digits = /^\d{11}$/; 
     $("#mobile").on("keyup keypress", function(){ 

      if (digits.test(this.value)) { 
       $.ajax({ 
        url: "http://api.domain.com/recipients/lookup", 
        data: { 
         mobile: this.value, 
         incentiveID: $("#incentiveID").val() 
        }, 
        success: function(data){ 
         $.each(data.DATA, function(index, value) { 
          console.log(value.EMAIL); 
         }); 
         console.log(data); 
        } 
       }); 
      } 
     }); 
}); 
+1

而问题是什么? – adeneo

+0

这部分“console.log(value.EMAIL);”给我不明确。我如何获得Json调用返回的所有电子邮件地址? – Prometheus

回答

3

的电子邮件是DATA阵列内;你应该使用data.DATA,而不是仅仅data,它指的是整个JSON对象:

$.each(data.DATA, function(index, value) { 
    console.log(value.EMAIL); 
}); 
+0

我试过了,但有了上面的代码,这给了我一个错误:TypeError:a是undefined – Prometheus

+0

@Spike:你确定你没有错字?在上面的代码中,我没有引用任何名为'a'的变量。你能粘贴你的新代码吗?上面编辑代码 –

+0

。错误是TypeError:a未定义 [Break On This Error] \t ... = []),o &&(e =“”+ e); while(e){k =!1; if(j = B .exec(e))e = e.slice(j [0] .length),k = d.push({... – Prometheus

0

新增的下方,问题就解决了。有谁知道为什么?

类型: “GET”, 数据类型: “JSON”,