当我向某个服务器发送请求时,会出现 303 响应,然后是请求的响应以及 200 状态码。有趣的是,我只在我的开发者控制台的网络视图上看到这个。在检查我的 $.ajax() 请求的状态码和响应时,会有第二个请求的响应,以及 200 个 http 状态码。
问题是似乎第二个请求正在被缓存(虽然是 200 状态码),我真的需要它是不可缓存的。因此,我真的很想干预使用 http 303 状态代码发生的转发过程。我希望我的 jquery 函数检查状态代码,然后发送带有显式标头的 get 请求,告诉服务器不要缓存响应。
好吧,我只是不知道该怎么做,因为(如上所述)jQuery.ajax 方法将响应转发请求的响应和状态代码(200)。
你能帮助我吗?
编辑
10.3.4 303 见其他
可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法的存在主要是为了允许 POST 激活脚本的输出将用户代理重定向到选定的资源。新的 URI 不是原始请求资源的替代引用。303 响应不能被缓存,但对第二个(重定向)请求的响应可能是可缓存的。
也许我需要以某种方式阻止用户代理重定向自己,所以我可以进行重定向?
或者有没有办法简单地告诉服务器/浏览器不要缓存来自客户端的第二个请求?或防止它重定向我的请求?或者至少在重定向之前修改第二个请求?