我有一個JSON文件my.json具有以下內容:
{
title: "My Title",
}
而且,一個jQuery代碼段來閱讀:
var reading_file = $.getJSON('my.json', function (data) {
alert('Success.');
}
的警告()回調內部永遠不會被調用,因爲JSON文件中存在錯誤,即title
未包裝爲字符串,如"title"
。
在瀏覽器(Chrome)上運行時,這不會引發錯誤或任何錯誤指示。具體而言,my.json
已被正確檢索(狀態碼:200),但reading_file.state()
始終爲pending
。
我的問題:
- 什麼是捕捉這種類型的錯誤,即無效JSON數據/語法的好方法?
- 在
function (data) { alert ... }
回調裏,this
是指什麼?
謝謝。
我很確定'this'是指AJAX請求。 '$ .getJSON'只是以某種方式使用'$ .ajax'的快捷方式 – Ian
並且從jQuery API文檔中,「從jQuery 1.4開始,如果JSON文件包含語法錯誤,請求通常會自動失敗。出於這個原因避免頻繁手動編輯JSON數據。「 – Ian
爲什麼不嘗試'$ .getJSON(「url」,function(){})。error(function(jqXHR,textStatus,errorThrown){alert(textStatus +「 - 」+ errorThrown);});' – Ian