uri = 'http://www.test.com/';
$.ajax({
url: uri,
success: function(msg){
sc.searchcontents = msg;
alert(sc.searchcontents);
}
});
alert(sc.searchcontents);
警報定義,然後警告頁面的源代碼。
uri = 'http://www.test.com/';
$.ajax({
url: uri,
success: function(msg){
sc.searchcontents = msg;
alert(sc.searchcontents);
}
});
alert(sc.searchcontents);
警報定義,然後警告頁面的源代碼。
成功函數加載後運行。但是,您的網頁上的JavaScript將繼續前進,而Ajax加載其網址。您首先看到的警報是您的ajax調用(未定義)之外的警報,然後是ajax調用(源代碼)中的警報。
進行測試,請嘗試在您的代碼示例末尾添加延遲。你會明白我的意思。
你是如何確定它工作或失敗?
你得到的錯誤信息是什麼?
你讀過jQuery Ajax Documentation了嗎?
爲了幫助您deterine是怎麼回事,嘗試添加一個error
功能:AJAX的
uri = 'http://www.test.com/';
$.ajax({
url: uri,
success: function(msg){
sc.searchcontents = msg;
alert(sc.searchcontents);
}
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
第二個警告框在ajax完成之前被調用,因爲默認情況下ajax調用是異步的。添加async:false子句,這應該可以解決您的問題。
如果我能看到一個頁面的源代碼提示,那麼ajax調用就起作用了。如果我不能,那就失敗了。 – 2010-03-17 17:01:47
我更新了問題。一切都變了。請回來! – 2010-03-17 17:32:56
我甚至不太確定你想從編輯的文章中得到什麼。您是否嘗試按照上述規定添加錯誤功能?我已更改我的代碼以合併您的代碼 – 2010-03-17 19:57:26