我正在 chrome 的网络选项卡中查看我的 ajax 请求,我注意到我所做的每个 ajax 请求都发生了两次。
第一个是 204,然后是 200。我的 ajax 调用只被击中一次,所以我不确定为什么有 2。
编辑
所以这似乎与 Cors 有关,我刚刚将其设置为星号 (*) 以进行测试。
我想没有太多我可以做的不让它做 2 个请求,但真正让我明白的是为什么它需要这么长时间,我看着谷歌浏览器网络,在我的页面上,这 204 个花费了 110 毫秒到 1.97 秒。
最佳答案
这是 CORS - Cross-origin resource sharing “协议(protocol)”的结果。
当向其他域发出请求时,浏览器会在您的请求之前发出请求,询问服务器是否可以继续处理该请求。
这个请求使用 OPTIONS
方法,应该没有内容,只有响应头,这就是响应代码是 204(无内容)的原因。确认请求被允许后,浏览器继续处理您的请求,现在将返回 200(或任何其他)状态代码。
关于ajax - 正常看到状态 204 然后是状态 200?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56173512/