ajax Post之后的页面跳转问题
发布于 4 年前 作者 youngdeer 15332 次浏览 最后一次编辑是 3 年前 来自 问答

新手,用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

回到顶部