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;
}
控制有輸出,說明進來了,
最後卻跳到了其他頁面
#控制台也報錯了
簡單的看了下,你後台的隨機數已經打出來了,表示Controller層執行了。你既然用@ResponseBody了,為什麼不直接返回你的隨機數,result! 其次,根據你的回答,處理完卻跳到了其他頁面。 這個問題,應該不會跳轉的,因為成功請求後端資料拿到,你應該在ajax的success裡,取得你要的數據,也就是result。事實上你的success裡面什麼也沒執行!個人理解^~^
謝謝大家的答案, 由於是svn管理專案,昨天同事不小心刪了同頁面的一個form表單的,導致出現的問題
你為什麼把產生的驗證碼放session裡,直接把資料回傳給那個ajax方法不就行了嗎? ajax裡success方法會接收到回傳資料的。