【发布时间】:2014-10-08 16:00:25
【问题描述】:
为了遵守 Laravel 约定,我希望我的用户在使用销毁路由时发出 DELETE 请求。
为了避免在每个删除链接上设置繁琐的表单,我使用了这段 jQuery 代码,它将任何带有 method="delete" 属性的 atags 转换为 DELETE 请求:
$(function() {
$("a[method='delete']").on('click', function(event) {
event.preventDefault();
target = this.getAttribute('href')
request = new XMLHttpRequest()
request.open('delete', target, false);
request.send();
});
});
这段代码几乎可以完成这项工作。但是,当我的控制器在销毁方法中处理 DELETE 请求时,它们应该重定向用户。例如,如果他破坏了一个资源,他应该被重定向到资源索引。
我正在尝试找到一种干净的方式来做到这一点,而无需使用特殊的 JSON 正文进行响应,而只需使用标准的 303 重定向。
你知道怎么做吗?
【问题讨论】:
-
参见:React to 303 status code in jquery ( Prevent from redirecting). 简短回答:您无法在 jQuery 中捕获 303 响应。
标签: javascript jquery rest http laravel