Ajax 如何在测试环境中模拟失败的XHR调用

Ajax 如何在测试环境中模拟失败的XHR调用,ajax,xmlhttprequest,google-chrome-devtools,firebug,Ajax,Xmlhttprequest,Google Chrome Devtools,Firebug,我的应用程序正在制作一篇XHR文章,我需要故意失败或者完全跳过它。测试是运行我请求的服务不可用的场景 这必须在浏览器中完成,我没有进行编码更改的权限,也没有防火墙。此asnyc XHR调用将与其他XHR调用一起在单页web应用程序中从一个磁贴转换到另一个磁贴时发生 到目前为止,我已经使用了firebug的XHR断点,但是当断点启动时,我已经得到了成功的响应 还有其他方法吗?只需将此文件用作请求接收器。。。(将您的请求发送到send.php) send.php <php header('

我的应用程序正在制作一篇XHR文章,我需要故意失败或者完全跳过它。测试是运行我请求的服务不可用的场景

这必须在浏览器中完成,我没有进行编码更改的权限,也没有防火墙。此asnyc XHR调用将与其他XHR调用一起在单页web应用程序中从一个磁贴转换到另一个磁贴时发生

到目前为止,我已经使用了firebug的XHR断点,但是当断点启动时,我已经得到了成功的响应


还有其他方法吗?

只需将此文件用作请求接收器。。。(将您的请求发送到send.php)

send.php

<php
  header('HTTP/1.0 403 Forbidden');
  echo "HTTP Error occured!";
?>

另外,您可以使用不同的错误代码:

403-禁止

404-找不到

503-服务暂时不可用


只需将此文件用作请求接收器。。。(将您的请求发送到send.php)

send.php

<php
  header('HTTP/1.0 403 Forbidden');
  echo "HTTP Error occured!";
?>

另外,您可以使用不同的错误代码:

403-禁止

404-找不到

503-服务暂时不可用


如果您想模拟任何故障,只需离线即可。请求将超时并失败。

如果要模拟任何失败,只需脱机即可。请求将超时并失败。

一种简单的方法是使用。安装后,单击AutoResponder选项卡,选中“启用规则”和“未匹配的请求通过”,在规则编辑器中指定需要测试响应失败的url,并添加规则“*删除”

当您请求此url时,Fiddler将立即关闭连接

示例用法-如果我想模拟今日美国体育版的ajax请求失败:

现在,由于ajax请求将失败,因此将永远不会加载

更多细节


类似的问题已经得到了回答。

一个简单的方法是使用。安装后,单击AutoResponder选项卡,选中“启用规则”和“未匹配的请求通过”,在规则编辑器中指定需要测试响应失败的url,并添加规则“*删除”

当您请求此url时,Fiddler将立即关闭连接

示例用法-如果我想模拟今日美国体育版的ajax请求失败:

现在,由于ajax请求将失败,因此将永远不会加载

更多细节


类似的问题已经得到了回答。

谷歌Chrome开发者工具允许您通过。这本质上允许您刷新页面,同时阻止加载特定资源。您可以在这个充实的答案中找到更多细节:

谷歌Chrome开发者工具允许您通过。这本质上允许您刷新页面,同时阻止加载特定资源。您可以在这个充实的答案中找到更多细节:

我不能进行任何代码更改,该代码已作为大型企业应用程序的一部分部署到测试环境中,不幸的是,我不能进行小的代码更新和重新部署。只要对不存在的文件发出请求,它将返回
404
错误。或从其他服务器请求文件。。。它将返回
客户端访问被拒绝
错误(浏览器跨域策略)。在呼叫开始之前,是否可以通过任何浏览器开发人员工具执行此设置?我在原来的帖子中添加了更多的信息。我无法精确控制调用发生的时间,它将发生在单页web应用程序中的平铺(页面)转换之间,以及其他异步XHR调用。您可以在浏览器中编辑脚本-例如,在Chrome中,您在第一行设置调试点,它停止在那里,然后在代码中修改js并单击“继续”按钮。或者,如果XHR请求的域不同于主站点(例如,它的子域),则可以更改主机文件以将请求重定向到服务器。。。如果不是,则仅第一个选项适用。更多关于Chrome方法的信息:谢谢,非常有帮助。缩小和合并的JS文件没有帮助:(我将继续查找我无法进行任何代码更改,该代码已作为大型企业应用程序的一部分部署到测试环境中,不幸的是,我无法进行小代码更新和重新部署。只需向不存在的文件发出请求,它将返回
404
错误。或从其他服务器请求文件…它将返回。)
客户端访问被拒绝
错误(浏览器跨域策略)。在呼叫开始之前,是否可以通过任何浏览器开发人员工具进行此设置?我在原始帖子中添加了更多信息。我无法准确控制呼叫发生的时间,它将在互动程序(第页)之间发生单页web应用程序中的转换,以及其他异步XHR调用您可以在浏览器中编辑脚本-例如,在Chrome中,您可以在第一行设置调试点,然后在代码中修改js并单击“继续”按钮。或者,如果XHR请求的域不同于m,您可以更改主机文件以将请求重定向到服务器ain站点(例如它的子域)…如果不是,则只有第一个选项适用。有关Chrome方法的更多信息,请点击此处:谢谢,非常有用。一个缩小和组合的JS文件没有帮助:(我会继续查找)