CNode

ajax Post之后的页面跳转问题

问答
Yyoungdeer发布于11 年前最后回复11 年前5 回复17721 浏览0 收藏

新手,用ajax执行post之后原来的页面跳转失效,跟代码下来之后发现页面跳转的在ajax post之前就已执行,求指导

查看回复

回复 (5)

Y
youngdeer#1·11 年前

代码如下:

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'
            }
        });
    }
	```
}
Y
youngdeer#2·11 年前

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方法执行后调用。

J
jiangli373#4·11 年前

index.js里面返回json数据,不要做res.redirect,ajax里面对返回的数据做处理再跳转

A
anchoretics#5·11 年前

后台只管返回json,不必多此一举再redirect

参与回复
登录后即可参与回复。登录