我正在使用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/
答案 0 :(得分:12)
快速修复,直到模块更新,是在dist/vue-resource.common.js
注释掉这一行:
xhr.responseType = 'blob';
它应该在约1054行左右
答案 1 :(得分:5)
我知道这不是解决方案(不要upvote),而是右键单击OPTIONS XHR和REPLAY XHR。它将重新发送Ajax调用,现在将有一个答案。
我认为插件存在一些异步问题。