2011-07-14 4 views
0

で異なる長さを取得: evalのJSONデータは、私は、AJAXによって、サーバからJSONデータを得たIEとFirefox

request.responseText=[{name:xxx},{name:xxx},{name:xx}]. 

は、その後、私はIEで

var data=eval(request.responseText); 

alert(data.length); 

を使用し、それが "4" です、 Firefoxでは「3」です。

は、IEのデバッガを使用して、私は、データの要素が同様であることが判明:

[Methods] 
[0] 
[1] 
[2] 

ので、食後の眠気の長さが、私はなぜだろ4.

のですか?

+0

**正確な文字列とは何ですか?サーバからのデータ: – SLaks

+0

{name: "kk"、age:30、id:0}、{name: "kddk"、age:20、id:1} {name: "kkdd"、age:330、id :3}] – hguser

+0

hguser:そのデータに構文エラーがあります。 – airportyh

答えて

2

私の推測では、サーバは、例えば、後続のカンマでデータを返却することである:標準準拠のブラウザで、それがなければなりませんしながら

[1, 2, 3, ] 

はIEで、この配列は、長さ4を有するものとして解釈されます長さは3です。

+0

ありがとう!!!!!!あなたが推測したのと同じように、余分なコモアがあります – hguser

0

[Methods]は、デバッガが別の値から機能を分離するために表示する別個のノードです。
オブジェクトに実際には存在しません。

配列は3つの0という名前の項目、1、および2を持っている場合は、そのlength3になります。

+0

しかし、私はそれを警告すると、値は4 – hguser

関連する問題