Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   прокрутка сообщений чата (https://javascript.ru/forum/misc/71452-prokrutka-soobshhenijj-chata.html)

mikello 20.11.2017 14:04

Откуда вы взяли Load? Я же говорю, у меня Load() в примерах

mikello 20.11.2017 14:05

И я в курсе, что Load указатель на функцию

Nexus 20.11.2017 14:10

mikello,
Если вы знаете, что Load - указатель, то в чем вопрос?
Скобочки в конце указателя на функцию вызывают её немедленно, а не указывают на то, что это функция.

Dilettante_Pro 20.11.2017 14:11

mikello,
Цитата:

Сообщение от mikello
И я в курсе, что Load указатель на функцию

Вот Nexus и пытается объяснить, что в post должно быть или объявление функции function() {...}, либо ссылка на функцию - например, Load - без всяких скобочек.
Но не может быть вызова функции Load()

mikello 20.11.2017 14:12

Цитата:

$.post("ajax.php", {
act: "send", // указываем скрипту, что мы отправляем новое сообщение и его нужно записать
name: $("#pac_name").val(), // имя пользователя
text: $("#pac_text").val() // сам текст сообщения
},
Load(1))
В данном примере Load(1) и есть callback функция, так ? И запускается эта функция после завершения запроса.

mikello 20.11.2017 14:13

Все теперь понятно, спасибо Dilettante_pro. Я запутался в примерах и ошибся, конечно Load должно быть

mikello 20.11.2017 14:18

А почему тогда в руководстве к $.post сказано, что callback может принимать 3 аргумента?
Цитата:

callback(data, textStatus, jqXHR) — пользовательская функция, которая будет вызвана после ответа сервера.

data — данные, присланные с сервера.
textStatus — статус того, как был выполнен запрос.
jqXHR — объект jqXHR (в версиях до jquery-1.5, вместо него использовался XMLHttpRequest)

Nexus 20.11.2017 14:22

mikello, это функции, которая будет вызвана как callback будет передано 3 аргумента.

mikello 20.11.2017 14:23

Цитата:

$.post( "ajax/test.html", function( data ) {
$( ".result" ).html( data );
});
То есть должно быть в таком виде?

Dilettante_Pro 20.11.2017 14:33

mikello,
Не обязательно в таком - можно
$.post( "ajax/test.html", Load);

function Load(data) {
  $( ".result" ).html( data );
});


Часовой пояс GMT +3, время: 09:50.