ajax Post之后的页面跳转问题
发布于 17天前 作者 youngdeer 175 次浏览 来自 问答

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

回到顶部