2012-08-01 45 views
0

我讀到一些關於Ajax和jQuery和我看到這個代碼:jQuery的AJAX誤解功能

$.ajax({ 
    url: "test.html", 
    cache: false 
}).done(function(html) { 
    $("#results").append(html); 
}); 

我沒有看到任何地方「HTML」的宣言,如何將代碼知道該怎麼追加?

P.S.這可能是一個愚蠢的問題,但我沒有在任何地方找到這個問題的答案:/

回答

1

當ajax調用完成時,它會將數據傳遞給爲done定義的函數。

.done(function(html){ 

html在這裏沒有「定義」,而是接收數據的變量的名稱。一旦佔位符被定義,你可以在你的函數的任何地方使用它。

舉例來說,如果你有

function myFunc(foo){ 
    alert(foo); 
} 

,然後做

myFunc(1234); 
//result 1234 

myFunc("test"); 
//result "test" 

所以,真正的HTML正是這個人選擇調用從Ajax調用接收到的數據。如果你閱讀jQuery網站上的教程,大多數時候他們將這個變量命名爲「data」

+0

所以在php文件中,我必須調用一個var「html」?例如,如果我有$ data =「Hello World!」 ajax代碼將返回「Hello World」,對吧? – Denn 2012-08-01 23:59:29

+0

PHP無法直接與javascript交談,因爲它在瀏覽器中的客戶端處理,而PHP在服務器端處理。如果您有一個名爲test.php的php頁面,代碼<%echo'Hello World「%>,那麼javascript變量」html「將包含」Hello World「,並且響應成功。 – Kosmonaut 2012-08-02 21:49:03