2010-03-17 80 views
1

代碼開始使用jquery

uri = 'http://www.test.com/'; 
$.ajax({ 
    url: uri, 
    success: function(msg){ 
     sc.searchcontents = msg; 
     alert(sc.searchcontents); 
    } 
}); 
alert(sc.searchcontents); 

警報定義,然後警告頁面的源代碼。

回答

1

成功函數加載後運行。但是,您的網頁上的JavaScript將繼續前進,而Ajax加載其網址。您首先看到的警報是您的ajax調用(未定義)之外的警報,然後是ajax調用(源代碼)中的警報。

進行測試,請嘗試在您的代碼示例末尾添加延遲。你會明白我的意思。

0

你是如何確定它工作或失敗?

你得到的錯誤信息是什麼?

你讀過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); 
    } 
}); 
+0

如果我能看到一個頁面的源代碼提示,那麼ajax調用就起作用了。如果我不能,那就失敗了。 – 2010-03-17 17:01:47

+0

我更新了問題。一切都變了。請回來! – 2010-03-17 17:32:56

+0

我甚至不太確定你想從編輯的文章中得到什麼。您是否嘗試按照上述規定添加錯誤功能?我已更改我的代碼以合併您的代碼 – 2010-03-17 19:57:26

1

第二個警告框在ajax完成之前被調用,因爲默認情況下ajax調用是異步的。添加async:false子句,這應該可以解決您的問題。