是这样的,我想让 前端页面 通过 ajax post 一些数据让后台处理,结果一直重定向。
前端页面代码如下 :
function sendVerticyCode (){ var phoneNumber = $('[name=username]').val().trim(); console.log(phoneNumber) if(Number(phoneNumber) !== NaN){ $.ajax({ type: "POST", url: "/sendcode", data: Number(phoneNumber), success: function(msg){ alert( "phone number is " + msg ); } }); } }
后台处理页面如下 :
router.route('/sendcode') .post(function (req, res, next) { /* accept the phonenumber then send verticy code */ console.log(req.body.data) var phoneNumber = req.body.data ; console.log(phoneNumber) messageXSend.add_to(phoneNumber); // must be string ??? realcode = crevertiCode(); console.log(realcode) messageXSend.add_var('code',realcode); messageXSend.add_var('time','60秒'); messageXSend.set_project('fwgU'); messageXSend.xsend(); }) 路由匹配是没错的,应该是后端处理代码有问题,但是没报错
假设你是点击按钮提交,是给按钮绑定了click事件,那么,在绑定事件的回调函数中的最后写上:return false; 试一下呢
是不是前端没有屏蔽form表单onsubmit事件的默认处理
应该在onsubmit回调中调用e.preventDefault(); 其中e是onsbumit回调的事件对象
这样,
你先debug一下后端的这段代码看看执行了么,
第二你说页面跳转了,跳转到哪个页面?试着排摸下代码看看有没有走到其它跳转的路由
第三,把你页面触发sendVerticyCode ()的代码贴出来