express 路由接受 ajax post 请求时重定向?

是这样的,我想让 前端页面 通过 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();


    })   
    
    
    
    
    路由匹配是没错的,应该是后端处理代码有问题,但是没报错
阅读 4.3k
3 个回答

这样,
你先debug一下后端的这段代码看看执行了么,
第二你说页面跳转了,跳转到哪个页面?试着排摸下代码看看有没有走到其它跳转的路由
第三,把你页面触发sendVerticyCode ()的代码贴出来

是不是前端没有屏蔽form表单onsubmit事件的默认处理
应该在onsubmit回调中调用e.preventDefault(); 其中e是onsbumit回调的事件对象

假设你是点击按钮提交,是给按钮绑定了click事件,那么,在绑定事件的回调函数中的最后写上:return false; 试一下呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题