首页  >  问答  >  正文

javascript - ajax后台跳转到了其他页面,还报错

ajax执行后跳转到后台处理,处理完却跳转到了其他页面。

ajax:

$(".get-code").click(function(){        
    var user_number=$("input[name=user_number]").val();       
       alert(user_number);       
        $.ajax({type : "post",
            url : "user/validate",
            dataType : "json",
            data : {"phone" : user_number},
            success : function(data) {                                
            }
    
        });
       
   });

按钮

 <button class="get-code">测试</button>

后台

@ResponseBody
@RequestMapping("/validate")
public Object validate(HttpSession session,String phone){
    Integer result1=(int)((Math.random()*9+1)*100000);
    String str=Integer.toString(result1, 10);
    String result=    str;    /*Sampler.samlerInfo(phone, null);*/
    System.out.println("随机数为:"+result);
    session.setAttribute("result", result+"");
    return null;
}

控制有输出,说明进来了,

最后却跳转到了其他页面

控制台还报错了

扔个三星炸死你扔个三星炸死你2678 天前804

全部回复(3)我来回复

  • 代言

    代言2017-06-20 10:07:46

    简单的看了下,你后台的随机数已经打出来了,说明Controller层执行了。你既然用@ResponseBody了,为什么不直接返回你的随机数,result! 其次,根据你的回答,处理完却跳转到了其他页面。 这个问题,应该不会跳转的,因为成功请求后端数据拿到,你应该在ajax的success里,获取你要的数据,即result。事实上你的success里什么也没执行啊!个人理解^~^

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-06-20 10:07:46

    谢谢大家的答案, 由于是svn管理项目,昨天同事不小心删了同页面的一个form表单的</form>,导致出现的问题

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-20 10:07:46

    你为什么把生成的验证码放session里,直接把数据返回给那个ajax方法不就行了吗?ajax里success方法会接收到返回数据的。

    回复
    0
  • 取消回复