私は、RESTウェブサービスを呼び出してJSON答えを得るHTMLを持っています。 間違ったパラメータを入力すると、問題なくエラーを捕捉できますが、JSONの結果がnullになることがあります。どのように私はその状況を把握できますか?"Uncaught TypeError:getJSON呼び出しでプロパティ 'prop' of undefinedを設定できません。
マイHTML:
<div id="divname"></div>
私のjavascript:
$.getJSON(URL, function(data) {
$('#divname').html(data.result[0].dest[0].pred[0].time);
})
.done(function() { alert('getJSON request succeeded!'); })
.fail(function(jqXHR, textStatus, errorThrown) { alert('getJSON request failed! ' + textStatus); $('#divname').html('Wrong Parameter.'); })
.always(function() { alert('getJSON request ended!'); });
良いJSONの結果は次のようになります:
{
"result": [{
"string01": "104",
"string02": "104 - blablabla",
"string03": "104",
"string04": "blobloblo",
"string05": "blablabla",
"dest": [{
"pred": [{
"time": 1461348846,
"sec": 102,
"min": 1,
"string11": "514-String",
"string12": "Some String",
"string13": "Some other String",
"number": 0
}]
}]
}]
}
しかし、時には、表示するデータがないとき、私はこのような何かを得る:
{
"result": [{
"string01": "104",
"string02": "104 - blablabla",
"string03": "104",
"string04": "blobloblo",
"string05": "blablabla",
"dest": [{"pred":[]}]
}]
}
私はクロームコンソールで以下の取得:
Uncaught TypeError: Cannot set property 'time' of undefined
これが失敗している理由を私は理解しますが、私は失敗しているHTMLで表示するには、このエラーをキャッチする方法がわかりません。
ちょうどあなたがしようとする前に、親プロパティがあるかどうかを確認しますプロパティを設定します。 – Pointy