ajax Post之后的页面跳转问题
新手,用ajax执行post之后原来的页面跳转失效,跟代码下来之后发现页面跳转的在ajax post之前就已执行,求指导
5 回复
代码如下:
function deleteById(id){
var flag = confirm('confirm delete this record?');
if(flag){
$.ajax({
data: {accountId:id},
url: '/deleteAccount',
dataType: 'json',
type:'post',
success:function(){
alert(11111111)
window.location = '/managerMoney'
}
});
}
```
}
index.js中的执行方法
router.post('/deleteAccount', function(req,res){
var id = req.body.accountId;
Account.delete(id,function(err){
if(err){
req.flash('error', err);
return res.redirect('/managerMoney');
}
req.flash('success','delete success!');
res.redirect('/managerMoney');
});
});
ajax是异步的,跳转需要放在ajax的回调函数中进行,不能直接在ajax方法执行后调用。
index.js里面返回json数据,不要做res.redirect,ajax里面对返回的数据做处理再跳转
后台只管返回json,不必多此一举再redirect