如果ajax使用jQuery得到错误的响应类型,如何捕获

时间:2013-12-16 11:35:13

标签: javascript jquery ajax try-catch

我的ajax电话看起来像这样:

$.ajax({
     url: self.options.base_url + '/interface/jsonp/auth_user/',
     dataType: 'jsonp',
     success: function (data) {
         self._after_user_auth(data);
     },
     error: function () {
         self._service_unavailable()
     }
 });

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>

<head>
    <title>Unhandled Exception</title>
</head>

<body>
    <h1>Unhandled Exception</h1>
    <p>An unhandled exception was thrown by the application.</p>
</body>

</html>

如果服务器端出现错误,我会得到下一个响应

升起Uncaught SyntaxError: Unexpected token <

是否有可能在客户端上捕捉到它?

1 个答案:

答案 0 :(得分:0)

我不确定我理解你,但你可以用

来捕捉JavaScript错误

try{}catch(){}

$.ajax({
     url: self.options.base_url + '/interface/jsonp/auth_user/',
     dataType: 'jsonp',
     success: function (data) {
         try{
             self._after_user_auth(data);
         }catch(err){
             console.log(err); //catch is fired if inside try js find an error.
         }
     },
     error: function () {
         self._service_unavailable()
     }
});

catch(err) - 错误是包含所有错误信息的对象。

一些文档:Try catch