2012-08-31 32 views
0

不同的结果JSON我有这样的代码:Chrome和Firefox给出(在结果键)

$.get('http://mapit.mysociety.org/areas/'+ulo, function(response) { 

         console.log(response); 

         var areaList = []; 

         for (var k in response) { 
           var obj = response[k]; 
           areaList.push(obj); 
           console.log(response[k]); 

          } 
         var len = areaList.length; 

在Chrome中,它的伟大工程,例如,变+ ULO温布利。

在Chrome浏览器开发工具,我得到的对象按标题对象下两个的console.log的:

对象 index_fb.js:41 [ 对象 all_names:对象 代码:对象 国家: “E” COUNTRY_NAME: “英格兰队” generation_high:18 generation_low:1个 ID:8258 名称: “温布利中心” parent_area:2488 类型: “LBW” TYPE_NAME: “伦敦区病房” :对象

但是,同样在Firefox和我得到这个在萤火虫:

{ “8258”: {“parent_area”:2488,“generation_high”:18,“all_names”:{},“id”:8258,“codes”:{“ons”:“00AEHE”,“gss”:“E05000104” :“11458”},“name”:“Wembley Central”,“country”:“E”,“type_name”:“伦敦自治区病房”,“generation_low”:1,“country_name”:“英格兰” :“LBW”}}

index_fb.js(线41)

{

index_fb.js(线48)

index_fb.js(线48)

index_fb.js(line 48)

index_fb.js(线48)

index_fb.js(线48)

index_fb.js(线48)

index_fb.js(line 48)

index_fb.js(线48)

index_fb。JS(线48)

{

index_fb.js(线48)

index_fb.js(线48)

p

index_fb.js( 48行)

a

index_fb.js(线48)

ř

index_fb.js(线48)

Ë

index_fb.js(线48)

Ñ

index_fb.js(line 48)

index_fb.js(线48)

_

index_fb.js(线48)

一个

index_fb.js(线48)

ř

index_fb.js(line 48)

Ë

index_fb.js(线48)

一个

index_fb.js(线48)

index_fb.js(线48)

个index_fb.js(线48)

index_fb.js(线48)

index_fb.js(线48)

index_fb.js(线48 )

index_fb。JS(48行)

index_fb.js(48行)

,等等等等

所以,CONSOLE.LOG(响应)是正确的,但它似乎采取一切信中:

for (var k in response) { 

K =在Firefox,其中如铬,它具有k涉及作为一个整数8258.

号码

我该如何解决这个问题?

感谢

编辑

这是新代码:还是同一个问题:

$.get('http://mapit.mysociety.org/areas/'+ulo, function(response) { 

         console.log(response); 

         var areaList = []; 

         for (var k in response) { 

          if (response.hasOwnProperty(k)) { 
           var obj = response[k]; 
           areaList.push(obj); 
           } 
          } 

我也都试过了,但我需要包裹进入一个$ .ajax确保它知道json被返回。该应用程序在将ajax用于非安全源时存在问题。

到目前为止,没有喜悦:(

+0

嗨,罗布,抱歉,但我不知道我的理解是 –

+0

只是一个建议:当你执行换用JavaScript包装在如果(obj.hasOwnProperty内部。 .. 在你的情况下它会是: for(var k in response){ if(response.hasOwnProperty(k)){ //逻辑 } } –

回答

2

火狐认为你的对象是一个字符串,你应该指定dataType:"json"检索正确的JSON对象,它的属性,你将能够一一列举。jQuery的允许您设置具体的数据类型通过$.get最后一个参数:

$.get(url,successFunction,"json") 
+0

如何使用.get语句执行此操作? –

+0

我使用$ .getJSON,当我在几周前使用它时,它一直给我一个错误,由于HTTPS到HTTP等。 –

+0

我在我的答案中添加了语法,你也可以看看http:// api.jquery.com/jQuery.get/ – Romain

相关问题