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

时间:2014-12-12 13:49:28

标签: ajax xmlhttprequest google-chrome-devtools firebug

我的应用程序正在进行XHR POST,我需要故意失败或完全跳过。测试是运行我请求的服务不可用的场景。

这必须在浏览器中完成,我无权进行编码更改以执行此操作,也无法访问防火墙。这个asnyc XHR调用将在单页Web应用程序中从一个磁贴转换到另一个磁贴时发生,以及其他XHR调用

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

还有其他方法吗?

3 个答案:

答案 0 :(得分:1)

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

<强> send.php

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

PS。您可以使用不同的错误代码:

403 - 禁止

404 - 未找到

503 - 服务暂时不可用

Full_List_of_HTTP_status_codes

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Google Chrome开发者工具允许您通过'Request Blocking'执行此操作。这实际上允许您在阻止加载特定资源的同时刷新页面。您可以在这个充实的答案中找到更多详细信息:https://stackoverflow.com/a/32459616/823549