Jquery Chrome和Firefox为json提供不同的结果(输入结果)

Jquery Chrome和Firefox为json提供不同的结果(输入结果),jquery,json,firefox,google-chrome,Jquery,Json,Firefox,Google Chrome,我有以下代码: $.get('http://mapit.mysociety.org/areas/'+ulo, function(response) { console.log(response); var areaList = []; for (var k in response) {

我有以下代码:

$.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的标题对象获取对象:

反对 索引fb.js:41 [ 对象 所有名称:对象 代码:对象 国家:“E” 国家名称:“英格兰” 世代高中:18 发电量低:1 身份证号码:8258 名称:“温布利中心” 家长区:2488 类型:“LBW” 类型名称:“伦敦区病房” 原型:对象

但是,firefox也是如此,我在Firebug中得到了这样的信息:

{“8258”:{“父区”:2488,“世代高”:18,“所有世代名”:{},“id”:8258,“代码”:{“ons”:“00AEHE”,“gss”:“E05000104”,“单位id”:“11458”},“名称”:“温布利中心”,“国家”:“E”,“类型名”:“伦敦区”,“世代低”:1,“国家名”:“英格兰”,“类型”:“LBW”}

索引_fb.js(第41行)

{

索引_fb.js(第48行)

"

索引_fb.js(第48行)

八,

索引_fb.js(第48行)

二,

索引_fb.js(第48行)

五,

索引_fb.js(第48行)

八,

索引_fb.js(第48行)

"

索引_fb.js(第48行)

:

索引_fb.js(第48行)

索引_fb.js(第48行)

{

索引_fb.js(第48行)

"

索引_fb.js(第48行)

p

索引_fb.js(第48行)

a

索引_fb.js(第48行)

r

索引_fb.js(第48行)

e

索引_fb.js(第48行)

n

索引_fb.js(第48行)

t

索引_fb.js(第48行)

_

索引_fb.js(第48行)

a

索引_fb.js(第48行)

r

索引_fb.js(第48行)

e

索引_fb.js(第48行)

a

索引_fb.js(第48行)

"

索引_fb.js(第48行)

:

索引_fb.js(第48行)

索引_fb.js(第48行)

二,

索引_fb.js(第48行)

四,

索引_fb.js(第48行)

八,

索引_fb.js(第48行)

八,

索引_fb.js(第48行)

等等

因此,Console.log(response)是正确的,但它似乎包含了

for (var k in response) {
在firefox中,k=数字,在chrome中,它将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);
                                 }
                            }
我也尝试过,但我是否需要将Get包装到$.ajax中,以确保它知道返回了json。该应用程序在将ajax用于不安全的源时存在问题


到目前为止没有什么乐趣:(

Firefox将您的对象视为一个字符串。您应该指定
数据类型:“json”
,以检索适当的json对象,您可以枚举这些属性。Jquery允许您通过最后一个参数
$设置数据类型。get

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

嗨,Rob,抱歉,但我不确定我是否理解这一点?只是一个建议:每当您使用javascript执行for in时,将内部部分包装在if(obj.hasOwnProperty…在您的情况下,它将是:for(var k in response){if(response.hasOwnProperty(k)){//logic}如何使用.get语句实现这一点?我在几周前使用了$.getJSON,当我使用它时,它不断地给我一个错误,原因是HTTPS到HTTP等。我在回答中添加了语法,您也可以查看