【发布时间】:2013-10-10 10:50:00
【问题描述】:
我正在使用jquery.getJSON(),但我不知道如何进行错误处理。这些是我需要处理的一些情况。
1)如果返回的数据为空怎么办?
2)如果返回的数据不是json可解析的怎么办?
3) 如果返回一些错误信息怎么办?比如服务器返回HTTP ERROR
【问题讨论】:
标签: jquery json error-handling
我正在使用jquery.getJSON(),但我不知道如何进行错误处理。这些是我需要处理的一些情况。
1)如果返回的数据为空怎么办?
2)如果返回的数据不是json可解析的怎么办?
3) 如果返回一些错误信息怎么办?比如服务器返回HTTP ERROR
【问题讨论】:
标签: jquery json error-handling
由于$.getJSON() 返回一个promise 对象,你可以对案例2 和3 使用.fail() promise 回调...案例1 需要在成功回调本身中处理
jQuery.getJSON(...).fail(function(jqXHR, status, error){
if(status == 'parseerror'){
//not valid json
} else {
//some other error
}
})
【讨论】:
status == 'parseerror',如果返回的数据不可解析,状态将是parseerror?
error 回调
response.setStatus返回一些错误,也应该这样处理?
error,您可以使用jqXHR.status 来获取响应状态,例如 400/404/403/500 等...您也可以阅读响应内容使用jqXHR.responseText