【发布时间】:2017-06-29 13:49:43
【问题描述】:
我正在使用 CORS 从 API 中获取一些数据。在一天前推出 Chrome 更新之前,一切都运行良好。
现在,在 OPTIONS 请求之后,后续请求总是返回,但没有响应数据。
如果我快速单击一个按钮两次,它将显示在第二个请求(同一个请求)上,因为它没有进行飞行前呼叫。
我已经重新安装并禁用了所有扩展,不知道这里发生了什么。
还有其他人遇到这种情况吗?
EDIT 请注意,没有响应直接来自开发工具。这只是一个 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/
【问题讨论】:
-
您是否在 devtools 控制台中查看过那里记录的内容?如果您能够发布一些可用于重现问题的代码,它也会有所帮助。
-
没有响应直接来自开发工具。这只是一个 Ajax 调用。即使它没有显示任何响应数据,它也能正常工作。例如,如果我做一个
console.log(res)这一切都很好。严格来说,Chrome 没有显示任何响应,并且严格遵循 OPTIONS (CORS) 请求。 -
哪个版本的 Chrome? (请考虑编辑您的问题以添加来自 chrome://chrome/ 的确切版本)
-
如果您直接请求它而不进行任何 Ajax 调用,输出的请求返回什么,返回的响应代码是什么。如果 OPTIONS 请求返回 204,则响应将为空。
-
我已经设法将其缩小到 vue-resource 插件。与 adxos 配合得很好,你可以在这里查看我的小提琴。 jsfiddle.net/tpnucv5m@nolan-lawrence
标签: google-chrome cors