我遇到了一个我无法捕获的简单异常:
//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
但没有任何效果。
你的语法错误:
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 响应来根据结果执行您想要的操作...
当您使用错误的 url 进行 ajax 调用时,失败将写入错误函数或失败函数中,您不需要 try catch 来获取 ajax 请求,因为它至少不会抛出任何类型的错误案例。
愚蠢的答案...
我的
error
方法之前有一个缺失的空间。