可能重复:
jQuery $.get or $.post to catch page load error (eg. 404)
也许我认为这是错误的。但无论如何这里仍然存在。目前在jQuery的帮助下,我正在运行$ .post()。
但是我发帖是根据目录获取内容。问题是信息是动态设置的。因此,如果事实证明我在某种意义上查询文件/文件夹并且它不存在我得到404,401,500这样的错误。基本上简单地告诉我它不存在。也就是说,我如何检查它,或者当它发生时捕获它我可以通过javascript通过可能是对话框或其他东西抛出自定义错误。
甚至可能吗?请注意,ajax / post目前没有绑定到服务器端脚本,如果最终是,它将与rails脚本上的ruby绑定。
答案 0 :(得分:4)
您可以在发布调用后立即添加.error(function(){...})
,以确定如果您的AJAX失败,如何处理,以及返回的错误代码。
代码:
$.post('/path/to/script/',function(){alert('success');})
.error(function() { alert("error"); });
说明:
错误(jqXHR,textStatus,errorThrown)功能
请求失败时要调用的函数。该函数接收三个参数:jqXHR(在jQuery 1.4.x,XMLHttpRequest中)对象,描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数的可能值(除了null)是“timeout”,“error”,“abort”和“parsererror”。发生HTTP错误时,errorThrown会收到HTTP状态的文本部分,例如“未找到”或“内部服务器错误”。