Javascript 如何测试ajax错误回调?
在ajax请求中,如何测试错误回调?是否可以模拟网络连接错误Javascript 如何测试ajax错误回调?,javascript,jquery,selenium,qunit,Javascript,Jquery,Selenium,Qunit,在ajax请求中,如何测试错误回调?是否可以模拟网络连接错误 $.ajax({ url: "myUrl", type: 'post', dataType : "json", data : ({ myJson }), success : function(jsonSaveResponse) { }, error: fun
$.ajax({
url: "myUrl",
type: 'post',
dataType : "json",
data : ({
myJson
}),
success : function(jsonSaveResponse) {
},
error: function (xhr) {
}
});
我所做的只是在发出AJAX请求之前关闭服务器,这将模拟服务器没有响应
请记住,在刷新更改之前,需要将其重新打开。您必须存根ajax请求,并返回将触发错误回调的自定义响应。使用Javascript测试框架可以轻松做到这一点,例如。您可以简单地在AJAX调用的URL属性中添加错误的URL。如果您的URL是PHP页面,您可以执行以下操作:
<?php
header("HTTP/1.0 404 Not Found");
exit();
//the rest of your code
您是在实现普通AJAX还是在使用jQuery?使用错误的url(如mydomain.com/thisurldoesntextest)向xmlhttprequest对象馈送@KPBird请查看问题编辑,im使用jQuery这对我不起作用!我在$.ajax()函数中键入了url:“asdjasfd.php”!我已经在$.ajax()函数中设置了error:function(jqXHR,textStatus,errorhorn){alert(testStatus);}!我没有看到任何Javascript警报!没有什么。。。我使用的是chrome,AJAX请求可以无缝执行。。我还添加了一个成功提示:函数(data、textStatus、jQxhr)。即使是这个警报我也没有得到。现在,对于正确的url,我得到了成功的警告消息!如果在网络面板中看不到任何内容,则Xhr请求不会发生;退出;-在这种情况下,js代码的错误部分将起作用