Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 成功删除请求后如何重定向_Rest_Http_Redirect_Http Delete - Fatal编程技术网

Rest 成功删除请求后如何重定向

Rest 成功删除请求后如何重定向,rest,http,redirect,http-delete,Rest,Http,Redirect,Http Delete,我有一个HTML表单执行删除请求(method=POST&hiddenx-HTTP-method-Override=DELETE) 当删除请求成功时,我如何告诉浏览器重定向到另一个页面? 303+收割台位置正常吗 当前,浏览器不显示空响应,但保留以前的响应(我猜是因为204状态代码)。 如果我添加一个位置标题(仍然是204状态代码),它不会更改位置 对于303+位置,我有了所需的行为,但我想知道成功删除后303是否是有效的状态代码。 202(接受)删除怎么样?303+位置是最佳选择。不要担心“成

我有一个HTML表单执行删除请求(method=POST&hiddenx-HTTP-method-Override=DELETE)

当删除请求成功时,我如何告诉浏览器重定向到另一个页面? 303+收割台位置正常吗

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

对于303+位置,我有了所需的行为,但我想知道成功删除后303是否是有效的状态代码。
202(接受)删除怎么样?

303+位置是最佳选择。不要担心“成功删除”是什么或意味着什么,因为您使用的是POST,它具有不同的语义集,303是为以下目的量身定制的:

10.3.4 303见其他

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


也许我不应该说我在使用POST请求:我在这里使用POST请求只是因为我无法删除HTML表单中的请求(没有javascript),其他客户端将执行删除请求。控制器将POST+X-HTTP-method-override=删除请求视为删除请求。无论如何,我想我会坚持使用303,如果没有人想出更好的解决方案,我会将您的响应标记为答案:)我选择HTTP DELETE,在返回正确的204作为REST不可知时,我在Headers中传递了重定向URL这是一个POST请求,不是删除请求。@JulianReschke API实际上是删除请求,但在所有主要浏览器中,如果没有javascript,则不可能执行删除请求(这里的页面中只有一个删除请求)。因此,api会查找X-HTTP-Method-Override form param来覆盖HTTP方法。浏览器不支持在表单中删除。它不是HTML的一部分。无论如何:一个POST请求就是一个POST请求,不管你附加了多少自定义标题。@JulianReschke是的,也许我不应该在问题中提到这一点。我想知道的是成功删除的正确状态代码是什么。我滥用表单参数来伪造http方法与此无关