AJAX DELETE方法重定向不起作用
AJAX DELETE Method Redirect Not Working
我正在尝试修复我的jQuery AJAX命令,其中单击<a href="#">
会触发对我设置了路由的特定url的DELETE
请求,然后重定向到新页面。我的AJAX的DELETE
部分工作正常,但由于某种原因,成功部分将我重定向到/app
解释为DELETE
请求。它似乎无法识别我在URL之前设置的GET
,并且默认为DELETE
。有人能帮我确定我的方法的哪一部分不正确吗?
链接:
<a href="javascript:void(0);" id="card-delete-link"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span>DELETE</a>
jQuery:
<script type="text/javascript">
$(document).ready(function() {
$('#card-delete-link').click(function(){
$.ajax({
method: 'DELETE',
url: '/app/edit/{{card.cardId}}',
success: function(){
console.log('Annotation ID: ' + '{{card.cardId}}' + ' was deleted');
$.ajax({
method: 'GET',
url:'/app'
});
}
});
});
</script>
浏览器控制台:
jquery.js:8630 DELETE http://localhost:3000/app 404 (Not Found)
路线:
appRoutes.route('/edit/:cardId')
.delete(function(req, res){
models.Card.destroy({
where: {
userId: req.user.userId,
cardId: req.params.cardId
}
}).then(function(){
res.redirect('/app');
});
});
在node.js中,您正在使用.delete谓词,这意味着它将忽略除标头中规定的delete方法之外的所有请求。这就是为什么您的GET请求没有得到处理。因此,您可以使用window.location.replacement()在成功时轻松重定向,而无需向服务器发出第二次请求。另一方面,如果第二次请求很关键,只需创建一个新的路由
示例:
app.get('/', function (req, res) {
res.send('GET request to the homepage');
});
此外,您应该重新思考您的代码,因为您将无法使用ajax请求进行重定向。
相关文章:
- 在phonegap应用程序内部重定向不起作用
- 角度 JS + 重定向不起作用
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- UI 路由器参数 URL 不起作用,只是重定向到 /
- 从帖子返回后,Javascript重定向不起作用
- 重定向不起作用
- 登录后PHP登录脚本重定向不起作用
- 使用self.location.href重定向不会'不起作用
- 重定向到PDF时像素跟踪代码不起作用
- j查询页面重定向在按钮单击时不起作用
- 在Kentico中使用response.write重定向HTML表单不起作用
- window.location.href 不起作用,无法重定向
- 路由提供程序否则重定向到不起作用
- 样式<输入类型=“范围”>用于重定向,在触摸设备上不起作用
- 花式框默认关闭在表单重定向后不起作用
- 在 mvc 应用程序中使用 href 属性重定向 asp.net 不起作用
- Facebook 登录重定向 PHP/Javascript 不起作用
- 弹出窗口重定向在IE中不起作用,但在其他浏览器中可以
- Spring ModelandView 重定向在 jquery ajax 调用中不起作用
- Python 重定向到 URL 不起作用