2012-10-18 53 views
3

我有這樣的問題:如何關閉遠程jQuery驗證中的響應緩存?

我正在使用jQuery驗證插件來檢查登錄憑據。如果用戶輸入不正確的電子郵件,但爲該用戶輸入正確的密碼並推送提交 - 驗證失敗然後用戶輸入正確的電子郵件 - 請求正在使用相同的上一個參數。

我嘗試這樣的代碼,但它不工作:

$("#user_email").change(function(){ 
$("#user_email").removeData("previousValue"); 
}); 
...jQuery validation code ... 
$(".login").validate({ 
    rules: { 
     "user[email]":{ 
      email: true, 
      required: true 
     }, 
     'user[password]': { 
      required: true, 
      minlength: 6, 
      remote: { 
      url: url_name.concat("checkpass"), 
    //url: "http://91.228.126.168:3000/checkpass", 
      type: "get", 
      data: { 
       email: function() { return $("#user_email").val(); 
       } 
      } 

      } 
     } 
    } 
    }) 

我不能讓我在做什麼錯。

任何幫助將不勝感激。

回答

0

試試這個:

$("#user_password").change(function(){ 
// alert('user_password') 
$("#user_email").removeData("previousValue"); 
$("#user_password").removeData("previousValue"); 
}); 

    $("#user_email").change(function(){ 
    //alert('user_email') 
$("#user_email").removeData("previousValue"); 
$("#user_password").removeData("previousValue"); 
}); 
0

使用POST,而不是GET。郵政從不緩存。 Get總是被緩存。

0

看看$.ajaxSetup()函數,有一個'緩存'參數,它允許您配置jQuerys關於緩存的行爲。