我有这个代码:
$.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 更改为 wembley。
在 Chrome 开发工具上,我根据标题对象下的两个 console.log 获取对象:
对象 index_fb.js:41 [对象 all_names:对象代码:对象国家:“E”国家名称:“英格兰”generation_high:18 generation_low:1 id:8258 名称:“Wembley Central”parent_area:2488 类型:“LBW”type_name:“ London borough ward" 原型:对象
但是,在Firefox中也是如此,我在Firebug中得到了这个:
{“8258”:{“parent_area”:2488,“generation_high”:18,“all_names”:{},“id”:8258,“codes”:{“ons”:“00AEHE”,“gss”:“E05000104 ", "unit_id": "11458"}, "name": "Wembley Central", "country": "E", "type_name": "London borough ward", "generation_low": 1, "country_name": "England ", "类型": "LBW"}}
index_fb.js(第 41 行)
{
index_fb.js(第 48 行)
"
index_fb.js(第 48 行)
8
index_fb.js(第 48 行)
2
index_fb.js(第 48 行)
5
index_fb.js(第 48 行)
8
index_fb.js(第 48 行)
"
index_fb.js(第 48 行)
:
index_fb.js(第 48 行)
index_fb.js(第 48 行)
{
index_fb.js(第 48 行)
"
index_fb.js(第 48 行)
p
index_fb.js(第 48 行)
一个
index_fb.js(第 48 行)
r
index_fb.js(第 48 行)
e
index_fb.js(第 48 行)
n
index_fb.js(第 48 行)
吨
index_fb.js(第 48 行)
_
index_fb.js(第 48 行)
一个
index_fb.js(第 48 行)
r
index_fb.js(第 48 行)
e
index_fb.js(第 48 行)
一个
index_fb.js(第 48 行)
"
index_fb.js(第 48 行)
:
index_fb.js(第 48 行)
index_fb.js(第 48 行)
2
index_fb.js(第 48 行)
4
index_fb.js(第 48 行)
8
index_fb.js(第 48 行)
8
index_fb.js(第 48 行)
等等等等
因此,Console.log(response) 是正确的,但它似乎包含以下每个字母:
for (var k in response) {
k = Firefox 中的数字,与 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 用于非安全源时存在问题。
到目前为止没有快乐:(