javascript – Ajax-Hintergrund springt zu anderen Seiten und meldet einen Fehler
扔个三星炸死你
扔个三星炸死你 2017-06-20 10:05:46
0
3
838

Nachdem Ajax ausgeführt wurde, springt es zur Hintergrundverarbeitung, aber nach der Verarbeitung springt es zu anderen Seiten.

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) {                                
            }
    
        });
       
   });

Knopf

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

Backstage

@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;
}

Die Steuerung hat eine Ausgabe, die anzeigt, dass sie eingegangen ist,

Am Ende ist es auf andere Seiten gesprungen

Die Konsole hat auch einen Fehler gemeldet

扔个三星炸死你
扔个三星炸死你

Antworte allen(3)
代言

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

phpcn_u1582

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

我想大声告诉你

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage