如何从jquery-jsonp库中的xOptions中检索错误消息

时间:2012-06-14 15:48:43

标签: json jquery jsonp

我正在使用此处找到的 jquery-jsonp 库的2.3.1.min版本:https://github.com/jaubourg/jquery-jsonp并且它按预期工作,即错误发生时将触发错误函数。但是,我似乎无法显示遇到的错误。我检查了github项目上的文档,但找不到答案。

这是一个限制吗?或者我不是在说正确的对象?

我的实施..

以下url参数设置为故意返回404页面。 Chrome开发工具显示404响应,但我似乎无法捕获该结果..

    <script type="text/javascript">
        $.jsonp({
                url: 'http://apps.mydomain.com/Service/NonExistant?&max=4&format=json',
                callbackParameter: "callback",
                error: function(xOptions, textStatus){ 
                    // this lines returns "error"
                    console.log(textStatus); 

                    // this returns the Object (but expanding it reveals no indication of error code / message)
                    console.log(xOptions);
                },
                success: function(json, textStatus) {
                    Populate(json); // this works fine
                }
            });
    </script>

1 个答案:

答案 0 :(得分:0)

可悲的是,你做不到。 Johnny Wey解释得比我好得多 - 但实际上,它依赖于“脚本”标记来获取JSON响应,而不是通过javascript执行的请求。

您可以根据Parsing JSONP Response in Javascript when 4xx or 5xx Http Error Code is Present在JSONP响应中包装错误类型,但这仍然无法帮助您解决404错误。

不幸的是,虽然JSONP错误处理实际上是不存在的。来自IBM的“警示说明”特别提到“首先,JSONP调用没有错误处理”。