是否有可能使浏览器发送到服务器的http请求失败而不必更改javascript?
我有一个POST请求,我的网站发送到服务器,我们正在尝试测试我们的代码在请求失败时的反应(例如HTTP 500响应)。不幸的是,我需要测试它的环境有uglified和压缩的javascript,所以插入断点或改变javascript不是一个选项。有没有办法让我们利用任何浏览器来模拟失败的请求?
请求需要很长时间才能完成,因此使用浏览器控制台运行javascript命令是可能的。
我已经尝试了using window.stop(),但是,由于我需要执行代码失败,所以这不起作用。
我知道设置代理服务器的选项,但是希望避免这种情况。
答案 0 :(得分:9)
在Chrome中(刚检查过v63),您实际上可以从“网络”标签中阻止特定的网址(甚至是整个网域)。您只需右键点击该条目,然后选择Block request URL
(或Block request domain
。)
答案 1 :(得分:5)
一种可能的解决方案是修改浏览器将使用的XMLHttpRequest对象。在javascript控制台中运行此代码将导致页面上所有未来的AJAX调用被重定向到不同的URL(这可能会产生404错误):
XMLHttpRequest.prototype._old_open =
XMLHttpRequest.prototype._old_open || XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
return XMLHttpRequest.prototype._old_open.call(
this, method, 'TEST-'+url, async, user, pass);
};
答案 2 :(得分:3)
不要忽视最简单的解决方案:断开计算机与Internet的连接,然后触发AJAX调用。
答案 3 :(得分:1)
Chrome的开发工具可以选择美化"美化" (即重新缩进)缩小的JavaScript(按左下角的" {}"按钮)。这可以与" XHR断点"请求发生时断开的选项。 XHR断点不支持通过AFAIK修改响应,但您应该能够通过代码找到一种方法。
答案 4 :(得分:-3)
只需在浏览器中输入已更改的网址,例如形成良好的URL,例如http://thedomain.com/welcome/另一个放置“XX”:http://thedomain.com/welcomeXX/,会导致404错误(未找到)