#php #javascript #jquery #ajax
Как работает этот параметр data? Мы же его не определили перед тем как вызвать функцию, что он делает? Зачем он вообще нужен, он же пустой. $.ajax({ url: 'response.php?action=sample1', success: function(data) { $('.results').html(data); } }); Пересмотрел кучу видео и везде код типа этого function test(a, b) { return a+b; } test(5+2); // результат будет 7. Тут принцип работы понятен, мы написали функцию с параметрами, потом просто вызвали ее. А первый пример я никак понять не могу. Извините пожалуйста, за формулировку, в этом деле новичок.
Ответы
Ответ 1
Для начала посмотрим функции. Имеются: function(data) { $('.results').html(data); } и function test(a, b) { return a+b; } Обе показывают, что они принимают некие параметры. Одна два параметра (a и b), переданные через вызов по имени непосредственно: test(3, 2), другая — один параметр data, переданный откуда-то. Откуда она берется? Что такое $.ajax? Во-первых — это всего лишь обертка над стандартным XMLHttpRequest, который дает возможность из JavaScript делать HTTP-запросы к серверу без перезагрузки страницы. Этот самый запрос принимает с сервера данные. Примитивный пример: var xhr = new XMLHttpRequest(); xhr.open('GET', 'test.php', false); xhr.send(); // Вот тут принимается ответ if (xhr.status != 200) { // если ошибка то что-то сделать alert( xhr.status + ': ' + xhr.statusText ); } else { xhr.responseText //