вопрос по 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 принимает этот пакет по езернету, обрабатывает и отвечает своим пакетом. Вопрос - как в программе оформить прием и обработку ответа? куда попадает принятый пакет - в какой массив, в какую структуру, какая процедура вызывается? |
Цитата:
https://basicweb.ru/jquery/jquery_method_ajax.php |
спасибо, это то что искал. правильно ли я понял, что
нужно в $.ajax указать коллбек-функцию в параметре success, при поступлении данных от сервера эта функция и будет вызвана |
s868,
:yes: |
я только начинаю в js и возникают трудности с элементарными вещами.
подскажите пожалуйста как определить поле success и коллбэк- процедуру так, чтобы после приема от сервера полученный пакет данных выдавался в alert(" ") $.ajax({ url: 'http://192.168.0.55:80/aaa', data: JSON.stringify({state: 1}), type: 'POST', success: {ЧТО ТУТ ПИСАТЬ?}, }) |
success: function (resp) {alert(resp)},
Читайте документацию. Там и примеры есть https://api.jquery.com/jquery.ajax/ |
s868,
success: function(data) { alert(data); }, Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
программой 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, не вызывается коллбэк функция (о которой я тут спрашивал ранее). для того чтоб она вызывалась - нужен заголовок какой-то? на низком уровне обмен произвольными данными невозможен? |
Часовой пояс GMT +3, время: 15:48. |