3

我有一个执行 DELETE 请求的 HTML 表单(方法 = POST & hidden X-HTTP-Method-Override = DELETE)

当 DELETE 请求成功时,如何告诉浏览器重定向到另一个页面?303 + 标头位置可以吗?

目前,浏览器不显示空响应而是保留之前的响应(我猜是因为 204 状态码)。如果我添加位置标头(仍然是 204 状态代码),它不会更改位置。

使用 303+location 我有所需的行为,但我想知道 303 是否是成功删除后的有效状态代码。202(已接受)删除呢?

4

1 回答 1

2

303加位置是最好的选择。不要担心“成功的 DELETE”是什么或意味着什么,因为您使用的是 POST,它具有一组不同的语义,并且 303 是为重定向 POST 请求量身定制的:

10.3.4 303 见其他

可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法的存在主要是为了允许 POST 激活脚本的输出将用户代理重定向到选定的资源。新的 URI 不是原始请求资源的替代引用。303 响应不能被缓存,但对第二个(重定向)请求的响应可能是可缓存的。

于 2011-04-25T20:29:56.710 回答