新手,用ajax执行post之后原来的页面跳转失效,跟代码下来之后发现页面跳转的在ajax post之前就已执行,求指导
代码如下:
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
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
代码如下:
index.js中的执行方法
ajax是异步的,跳转需要放在ajax的回调函数中进行,不能直接在ajax方法执行后调用。
index.js里面返回json数据,不要做res.redirect,ajax里面对返回的数据做处理再跳转
后台只管返回json,不必多此一举再redirect