2013-04-01 102 views
2

平臺:spring 我使用ajax調用相同的函數,首先爲模糊函數,然後爲點擊函數。 但模糊功能正在工作,而點擊功能沒有。我改變了我打電話的功能名稱,然後工作正常。JQuery Ajax函數調用兩次第一次調用工作,而第二次不是

請幫我找到解決辦法。我想發送一個ajax調用函數'isValidPassword'上的模糊和單擊功能。

在點擊和模糊我必須做下面的代碼。

if (oldPassword != "") { 
    $.ajax({ 
     url: 'isValidPassword.html?oldpassword=' + oldPassword, 
     type: 'GET', 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
      if (data != "Valid") $("#oldpassworderror").html(data); 
      return false; 
     } 
    }); 
} 

編輯:我的問題。我正在嘗試在頁面中執行「更改密碼」。所以首先我必須檢查輸入的密碼與保存的密碼相同。爲此,我正在使用ajax調用。如果輸入的密碼與舊密碼不同,我必須在標籤頁(模糊)中顯示錯誤消息,並且當用戶單擊「保存」(單擊)按鈕時應顯示相同的消息。但是現在,ajax調用只能用於模糊功能,而不能用於點擊。

這裏是「isValidPassword」功能代碼

@RequestMapping(value = "/isValidPassword", method = RequestMethod.GET) 
    public @ResponseBody 
    String isValidPassword(@RequestParam("oldpassword") String oldpassword, 
      User user, HttpSession session) throws Exception { 
     String login = (String)session.getAttribute("userName"); 
     user.setLogin(login); 
     user.setPassword(oldpassword); 
     String message = null; 
     // Check whether old password is valid and 
     // give a message in front end 
     if (userService.isValidPassword(user)) { 
      message = "Valid"; 
     } else { 
      message = "Incorrect old password"; 
     } 
     return message; 
    } 
+0

顯示的HTML代碼上CHANE和模糊 –

+0

'其工作fine' ..你的意思是你得到了解決???如果不是那麼發佈相關的代碼..你在這裏發佈的代碼根本不相關 – bipen

+1

你是否知道你的代碼是異步的?那意味着,你的「成功」功能不會立即運行,而會在未來一段時間內運行? – Richard

回答

0

要正確測試此代碼,您應準備AJAX調用這個方法:如果問題是

$.ajax({ 
     url: 'isValidPassword.html?oldpassword=' + oldPassword, 
     type: 'GET', 
     contentType: 'application/json; charset=utf-8', 
     success: function() { 
      alert('success'); 
     }, 
     error: function() { 
      alert('error'); 
     } 
    }); 

,所以你可以觀察客戶端或服務器端。

+0

「成功」警報顯示在一個案件,但不是第二次。 – puppuli

+1

並且第二次顯示「錯誤」消息? – Richard

+0

第二次沒有信息。 – puppuli

0

嘗試緩存..

if (oldPassword != "") { 
    $.ajax({ 
     url: 'isValidPassword.html?oldpassword=' + oldPassword, 
     type: 'GET', 
     cache: false, // disable caching 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
      if (data != "Valid") $("#oldpassworderror").html(data); 
      return false; 
     } 
    }); 
} 
相關問題