2015-01-02 1 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 здесь псевдоним для возвращаемого значения (далее «ответ» для запроса Аякса script.php), так что вы можете рефрижераторный к нему. Он НЕ является заполнителем самой функции.

Как вы называете это до вас, - так же, как с именами параметров лямбда в C++ (я нахожу их похож на JavaScript анонимные функции в этом случае):

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

или «из» параметров функций/методов на других языках.

для C++ аналогии: как это будет выглядеть, чтобы передать лямбда в качестве параметра другой метод (вы должны определить Button класс конечно):

button.click(/*...,*/ [&](string data){ //"on success" 
    MessageBox(NULL, data.c_str(), "Alert", NULL); 
    ... 
}); 
Смежные вопросы