这是一个奇怪的问题,但是,我想让$.ajax无法检查我的失败触发器,我有这个jQuery代码:
$(document).ready(function () {
$("#trigger").on("click", function () {
$.ajax({
url: "text.PHP",
success: function (data) {
$(".log").html(data.slice(0, 1000));
//alert("Load has been performed");
},
fail: function () {
$(".msg").html("Something went wrong...");
}
});
});
});
<?PHP
function foo()
{
return "bar";
}
print foo();
return false;
?>
并希望确保失败:…正在运行.我该怎么做呢?
编辑
<?PHP
throw new LogicException("Failed");
也:
<?PHP
header("HTTP://this.does.not.exist");
但是这仍然显示在$(“.log”)区域,即使它已经失败了.
$(document).ready(function () {
$("#trigger").on("click", function () {
$.ajax({
url: "text.PHP"
}).done(function (data) {
$(".log").html(data.slice(0, 1000));
}).fail(function () {
$(".msg").html("Something went wrong...");
}).always(function () {
alert("One way or another, we did it!");
});
});
});
如果它有帮助,我将这些脚本用于jQuery库:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
解决方法:
两个建议:
>将.fail回调调用更改为.error和
>尝试从服务器返回错误状态代码,如jeroen建议的,
header("not-real.PHP", true, 404);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。