jQuery Ajax异常捕获器

时间:2015-02-03 15:38:50

标签: javascript jquery ajax coffeescript

我遇到了一个我无法抓住的简单例外:

//myScript.js.coffee
try
  $.ajax
    async: false
    type: "GET"
    url: index_url
    success: ->
      //Do something
    error: ->
      //Do something else
    fail: ->
      //Do something else
catch e
  console.log e

当我尝试使用错误的URL调用此Ajax时,会出现错误并且没有捕获它。有人有想法吗?

基本上我想在调用这个ajax请求之前测试url。

修改 我知道将try / catch与异步function放在一起是没用的,但它表明我尝试了不同的方法来捕获那些exceptions,但没有任何作用。

3 个答案:

答案 0 :(得分:1)

您的语法错误:

try {
    $.ajax {
        async: false,
        type: "GET",
        url: index_url,
        success: function(data) {
            alert ("post is success");
        },
        error: function(request,error) { 
            alert(request.responseText);
            alert(error);
        }
    }
} catch (e) {
    console.log(e);
}

但正如所建议的那样,你可以根据结果使用ajax响应做你想做的事情......

答案 1 :(得分:0)

当您使用错误的网址进行ajax调用时,失败会写入错误函数或失败函数,您不需要尝试捕获ajax请求,因为它不会抛出任何类型至少在这种情况下是错误的。

答案 2 :(得分:0)

愚蠢的回答......

我的error方法之前缺少空格。谢谢你的帮助。