私はこのコードを持っています:
$.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 Dev Toolで、見出しオブジェクトの下にある2つのconsole.logに従ってオブジェクトを取得します。
Object index_fb.js:41 [Object all_names:Object code:Object country: "E" country_name: "England"generation_high:18generation_low:1 id:8258 name: "Wembley Central" parent_area:2488 type: "LBW" type_name: "ロンドン特別区」 プロト:オブジェクト
しかし、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 "、" type ":" 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行目)
a
index_fb.js(48行目)
r
index_fb.js(48行目)
e
index_fb.js(48行目)
n
index_fb.js(48行目)
t
index_fb.js(48行目)
_
index_fb.js(48行目)
a
index_fb.js(48行目)
r
index_fb.js(48行目)
e
index_fb.js(48行目)
a
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の数値。クロムの場合と同様に、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の使用に問題があります。
これまでのところ喜びはありません:(