Chrome,OPTIONS请求后没有响应数据?

时间:2017-02-11 05:16:20

标签: google-chrome cors

我正在使用CORS从API获取一些数据。在一天前推出Chrome更新之前,一切运行良好。

现在在OPTIONS请求之后,后续请求总是返回而没有响应数据。

如果我快速点击两次按钮,它将显示在第二个请求(同一个请求)上,因为它没有进行飞行前呼叫。

我已经重新安装并禁用了所有扩展程序,不知道这里发生了什么。

还有其他人遇到过这种情况吗?

编辑请注意,无响应直接来自devtools。这只是一个Ajax调用。即使它没有显示任何响应数据,它们都能正常工作。例如,如果我在代码中执行console.log(res),那就很好了。严格来说,Chrome没有显示任何回复,严格遵循OPTIONS(CORS)请求。

编辑另请注意,一切正常,并且在Firefox / Firebug中显示完美。

编辑 Chrome版本56.0.2924.87(64位)

编辑我刚刚迷失在这里。该应用程序工作得非常好,所以甚至很难知道在哪里进行星级调试。在Chrome弹出绿色更新图标后的第二天,它似乎发生了。在更新之后,我看到了nil。

我检查了一些其他应用程序,实际上它在那里工作!所以我认为它可能与插件/ Chrome的某些组合无关。我试过回复很多版本,但没有运气。奇怪的是,它只是在OPTIONS请求之后。我猜它像编码类型一样简单,但不知道在哪里。

编辑也尝试跟随一些领导者,没有运气:View AJAX response content in Chrome developer tools?

编辑我已经能够将其缩小到vue-resource插件的问题。用axios工作得很好。小提琴在这里:https://jsfiddle.net/tpnucv5m/

2 个答案:

答案 0 :(得分:12)

快速修复,直到模块更新,是在dist/vue-resource.common.js注释掉这一行:

xhr.responseType = 'blob';

它应该在约1054行左右

答案 1 :(得分:5)

我知道这不是解决方案(不要upvote),而是右键单击OPTIONS XHR和REPLAY XHR。它将重新发送Ajax调用,现在将有一个答案。

我认为插件存在一些异步问题。