Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2021, 13:24
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

вопрос по JS (передача/прием данных по IP)
доброго времени суток.
нтмл-страница имеет (в своем составе JavaScript-код) кнопки, при нажатии которых вызывается однотипная процедура

$('#save0').on('click', function()
{
log4('OFF');
$.ajax(
{
url: 'http://192.168.0.55:80/aaa',
data: JSON.stringify({state: 1}),
type: 'POST',
})
});
т.е. банальный коннект по IP и отправка пакета данных в ASCII:

POST /bbb HTTP/1.1 Host: 192.168.0.55 Connection: keep-alive Content-Length: 11 Accept: / User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Content-Type: application/x-www-form-urlencoded Origin: null Accept-Encoding: gzip, deflate Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 {"state":1}

все прекрасно отправляется, устройство с IP 192.168.0.55 принимает этот пакет по езернету, обрабатывает и отвечает своим пакетом. Вопрос - как в программе оформить прием и обработку ответа? куда попадает принятый пакет - в какой массив, в какую структуру, какая процедура вызывается?
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2021, 13:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от s868
куда попадает принятый пакет - в какой массив, в какую структуру, какая процедура вызывается?
Почитай документацию по $.ajax()
https://basicweb.ru/jquery/jquery_method_ajax.php
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2021, 17:05
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

спасибо, это то что искал. правильно ли я понял, что
нужно в $.ajax указать коллбек-функцию в параметре success, при поступлении данных от сервера эта функция и будет вызвана
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2021, 17:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

s868,
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2021, 17:42
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

я только начинаю в js и возникают трудности с элементарными вещами.
подскажите пожалуйста как определить поле success и коллбэк- процедуру так, чтобы после приема от сервера полученный пакет данных выдавался в alert(" ")

$.ajax({
url: 'http://192.168.0.55:80/aaa',
data: JSON.stringify({state: 1}),
type: 'POST',
success: {ЧТО ТУТ ПИСАТЬ?},

})
Ответить с цитированием
  #6 (permalink)  
Старый 18.11.2021, 17:55
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

success: function (resp) {alert(resp)},

Читайте документацию. Там и примеры есть
https://api.jquery.com/jquery.ajax/
Ответить с цитированием
  #7 (permalink)  
Старый 18.11.2021, 17:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

s868,
success: function(data) {
   alert(data);
},


Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #8 (permalink)  
Старый 19.11.2021, 12:53
Интересующийся
Отправить личное сообщение для s868 Посмотреть профиль Найти все сообщения от s868
 
Регистрация: 18.11.2021
Сообщений: 18

программой hercules (сервер) открыл порт 80, своей программой на JS по нажатию кнопки делает коннект на свой "сервер" и отправку короткой текстовой строки, вижу получение сервером этой строки и перед ней длинный заголовок

POST /aaa HTTP/1.1
Host: 192.168.0.3
Connection: keep-alive
Content-Length: 27
Accept: text/plain
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Origin: null
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7


1. какое поле $.ajax (и как) нужно настроить, чтоб данные шли без заголовка?
2. если со стороны сервера шлется пакет в программу на js, не вызывается коллбэк функция (о которой я тут спрашивал ранее). для того чтоб она вызывалась - нужен заголовок какой-то?

на низком уровне обмен произвольными данными невозможен?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка с помощью js данных 2 форм на email codehard Серверные языки и технологии 6 21.11.2016 14:38
Добавление, изменение, удаление данных через JS Арсений JustPuk Общие вопросы Javascript 2 27.04.2015 09:46
Передача данных с js в php juramaj AJAX и COMET 2 11.03.2015 12:42
Как передать массив данных из РНР в JS ruslanaxti Ваши сайты и скрипты 9 18.01.2015 15:52
Сохранение данных html, сконфигурированных JS. wayzer Общие вопросы Javascript 1 28.08.2012 20:38