2015-01-02 81 views
3
<script type="text/javascript"> 
     $(document).ready(function() { 
      $("button").click(function(){ 
       $.ajax({ 
        type: 'POST', 
        url: 'script.php', 
        success: function(data) { 
        alert(data); 
        $("p").text(data); 
        } 
       }); 
      }); 
     }); 
</script> 

爲什麼AJAX請求必須擁有該函數的佔位符? (在這種情況下,它是'數據')。如果你刪除它,或使用任何其他字,它仍然可以正常工作。有人可以解釋爲什麼嗎?爲什麼一個AJAX請求必須有這個?

+0

這僅僅是的Javascript是建立了這個辦法。 PS AJAX是異步的,所以需要一個回調 –

+0

新年快樂! – gab06

回答

1

data這裏是的返回值(「答案」爲您的Ajax請求script.php)的別名,所以你可以冷藏它。它不是函數本身的佔位符。

您如何命名它是由你 - 就像用在C拉姆達參數名稱++(我覺得他們類似於這種情況下,JavaScript的匿名函數):

[](string data){ 
    ... = data... 
} 

或與「出」的參數其他語言的函數/方法。

對於C++的比喻:它會怎麼看待傳遞一個lambda作爲參數傳遞給另一個方法(你必須定義Button類課程):

button.click(/*...,*/ [&](string data){ //"on success" 
    MessageBox(NULL, data.c_str(), "Alert", NULL); 
    ... 
}); 
相關問題