【问题标题】:jquery.getJSON() error handlingjquery.getJSON() 错误处理
【发布时间】:2013-10-10 10:50:00
【问题描述】:

我正在使用jquery.getJSON(),但我不知道如何进行错误处理。这些是我需要处理的一些情况。

1)如果返回的数据为空怎么办?

2)如果返回的数据不是json可解析的怎么办?

3) 如果返回一些错误信息怎么办?比如服务器返回HTTP ERROR

【问题讨论】:

    标签: jquery json error-handling


    【解决方案1】:

    由于$.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?
    • @Cacheing 是的,请查看$.ajax() 文档中的error 回调
    • 谢谢,但是即使服务器通过设置response.setStatus返回一些错误,也应该这样处理?
    • @Cacheing yes... 那么状态将为error,您可以使用jqXHR.status 来获取响应状态,例如 400/404/403/500 等...您也可以阅读响应内容使用jqXHR.responseText
    • 非常感谢。这很有帮助!
    猜你喜欢
    • 1970-01-01
    • 2016-08-18
    • 2012-12-31
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多