人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

jsonp について

function yws (json){
var items = json["items"];
for(var i = 0; i < items.length; i++) {
var el = items[i];
text += '<li>' + el["x"] + el["y"] + '</li>';
}
document.getElementById('xxxxx').innerHTML = text;
}

とすると firefox は動きますが、
ieでは「エラー:'x' は Null またはオブジェクトではありません」
となってしまいます。

どこが行けないのか教えてください。

お願いします。


●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:EL firefox IE JSON JSONP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● den2sn
●35ポイント

ロジック自体は問題無いように思います。

(text変数の初期化がなされていませんが)


「エラー:'x' は Null またはオブジェクトではありません」

というエラーはel変数がnullの場合発生します。


el変数がnullの場合、firefoxでもエラーになると思いますので、

jsonのデータを生成する時点でitemsの中身がおかくなっているかと

推測されます。


このロジック中の問題解決としては


if (el != null) {
 text += '<li>' + el["x"] + el["y"] + '</li>';
}

とelがnullの場合に出力を行わない方法で回避できると思いますが、

なぜjsonのデータがおかしくなるのかは

呼び出し元のソースを確認しないとなんとも言えないと思います。

◎質問者からの返答

ありがとうございます。

夜に試してみます。


2 ● lang_and_engine
●35ポイント ベストアンサー

こんにちは。

コメント欄を拝見して,やはりそうだったか…という思いでした。


拙筆ですが,下記の記事の「類似の問題」というところをご覧ください。


JavaScriptの動かないコード (初級編) 配列とオブジェクトの宣言エラー

http://d.hatena.ne.jp/language_and_engineering/20081010/12236057...

配列宣言時の末尾のカンマが問題のようです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ