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