不要爲此使用setTimeout。
只需使用的jquery's ajax回調功能:執行你在success
回調或新done
助手代碼「之後」:
$.ajax({
url: "test.html"
}).done(function() {
// do things after the answer has been received
});
編輯:
沒有jQuery和不立即觸發:
var httpRequest = new XMLHttpRequest();
var requestDoneAndOK = false;
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
requestDoneAndOK = true;
}
}
};
httpRequest.open('GET', url);
httpRequest.send();
而當「註冊「按鈕被點擊,你只需要檢查requestDoneAndOK
,如果它是真的調用你的其他功能。
編輯2:
碼被儘快2個條件實現執行:接收答案和註冊按鈕點擊。
var registerClicked = false;
var ajaxAnswerReceived = false;
function check() {
if (registerClicked && ajaxAnswerReceived) {
// do the thing !
}
}
var httpRequest = new XMLHttpRequest();
var requestDoneAndOK = false;
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
ajaxAnswerReceived = true;
check();
}
}
};
httpRequest.open('GET', url);
httpRequest.send();
document.getElementById('registerButton').onclick = function(){
registerClicked = true;
check();
};
這是你可以在jQuery中輕鬆完成的事情。這是你可以接受的嗎?你會使用這個成功回調。 – Undefined 2012-07-16 14:05:42
而不是jQuery我更喜歡做什麼的概念性解釋。我不知道jQuery。 – gom 2012-07-16 14:18:45
呃...所以你需要註冊按鈕被禁用,直到用戶名被驗證,對吧? – raina77ow 2012-07-16 14:20:55