看到 Status 204 然后看到 Status 200 正常吗?
Normal to see Status 204 then Status 200?
我正在 chrome 的网络选项卡中查看我的 ajax 请求,我注意到我所做的每个 ajax 请求都会发生两次。
第一个是 204,然后是 200。我的 ajax 呼叫只被击中一次,所以我不确定为什么有 2 个。
编辑
看来和Cors有关,我刚刚设置星标(*)进行测试
我想我能做的不多,不让它做 2 个请求,但真正让我明白的是为什么它需要这么长时间,我看着 google chrome 网络和在我的页面上,这 204 个花费了 110 毫秒到 1.97 秒。
这是 CORS - Cross-origin resource sharing "protocol" 的结果。
当向其他域发出请求时,浏览器会在您的请求之前发出请求,询问服务器是否可以继续该请求。
这个请求使用方法OPTIONS
并且应该没有内容,只有响应头,这就是为什么响应代码是204(没有内容)。确认请求被允许后,浏览器继续您的请求,现在将 return 200(或任何其他)状态代码。
当您尝试向其他域发送 AJAX 请求时,您违反了 same-origin 政策。
您发送请求的服务器允许跨域请求。在此过程中,应该有一个预检调用,即HTTP OPTION调用。
因此,您对选项和结果有两个响应。
我正在 chrome 的网络选项卡中查看我的 ajax 请求,我注意到我所做的每个 ajax 请求都会发生两次。
第一个是 204,然后是 200。我的 ajax 呼叫只被击中一次,所以我不确定为什么有 2 个。
编辑
看来和Cors有关,我刚刚设置星标(*)进行测试
我想我能做的不多,不让它做 2 个请求,但真正让我明白的是为什么它需要这么长时间,我看着 google chrome 网络和在我的页面上,这 204 个花费了 110 毫秒到 1.97 秒。
这是 CORS - Cross-origin resource sharing "protocol" 的结果。
当向其他域发出请求时,浏览器会在您的请求之前发出请求,询问服务器是否可以继续该请求。
这个请求使用方法OPTIONS
并且应该没有内容,只有响应头,这就是为什么响应代码是204(没有内容)。确认请求被允许后,浏览器继续您的请求,现在将 return 200(或任何其他)状态代码。
当您尝试向其他域发送 AJAX 请求时,您违反了 same-origin 政策。
您发送请求的服务器允许跨域请求。在此过程中,应该有一个预检调用,即HTTP OPTION调用。
因此,您对选项和结果有两个响应。