2010-01-18 81 views
1

我試圖使用jQuery驗證來驗證表單上的一些輸入值。 在其中一個表單上,我必須遠程調用服務器來檢查所需的 輸入的值是否有效。 所以我有這樣的:jQuery的遠程驗證超時

$("#myform").validate({ 
rules: { 
zip: { 
    required: true, 
    zip: true, 
    remote: "check-zip.action" 
    } 
} 
}); 

現在對於一些非常不尋常的測試場景 - 我需要處理的驗證,當服務器不向遠程響應號召。我通過一個JavaScript插件(google pagespeed)看到......遠程調用服務器進行驗證時仍然保持懸掛狀態......即使服務器已關閉。我有很難搞清楚是否有超時或東西,我可以使用,使嘗試連接的秒..我可以召喚出一個javascript函數期望數量,以顯示......服務器不可用給用戶之後驗證郵政編碼..或其他有意義的消息。 我嘗試添加超時:10000,但沒有工作.. 任何幫助是極大的讚賞。

感謝

回答

2

非常感謝你的答案...... 但我更想找驗證過程中一個特定的遠程調用。

反正...貌似我可以用

$("#myform").validate({ 
rules: { 
zip: { 
    required: true, 
    zip: true, 
    remote: 
    { 
    url:"check-zip.action", 
    timeout:2000, 
    error:handleerror 
    } 
} 
} 
}); 

,這將調用js函數的HandleError(請求錯誤) 如果AJAX調用超時,或者服務器不可用,這取決於在請求參數中返回什麼。

謝謝,

0

我不知道,但你可以嘗試用jQuery Ajax回調。

下面是示例:

$.ajax({ 
url: 'ajax/test.html', 
success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
}, 
error: function(obj, errorText, exception){ 
    alert('Error: ' + errorText); 
} 
});