@oc1tane

Arduino и ajax?

Добрый день, нуждаюсь в помощи специалистов не могу понять по какому принципу идет обмен данными по средством AJAX.
Понимаю принцип работы GET но Ajax хоть убей, не могу понять... Просьба обьяснить принцип работы технологии.
у меня есть рабочий примерчик получения данных с датчиков DS18B20, приблизительно я понимаю, что клиент (сайт) посылает запрос на сервер если в GET запросе имеется часть кода то выполняется функция:
Кусочек кода получения из cliend.read();
("GET /temp") != 0) { getTemp(client); }
Вывоз функции getTemp
void getTemp(EthernetClient client) {
    sensors.requestTemperatures();
    client.print(sensors.getTempCByIndex(0));
}

Js на стороне клиента
<script>
function getTemp() {
nocache = "&nocache="  + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseText != null) {
document.getElementById("switch_txt").innerHTML = this.responseText;
}}}}
request.open("GET", "temp" + nocache, true);
request.send(null);
setTimeout('getTemp()', 1000);
}
</script>

Здесь приведен пример для получения данных и вывода например его в виде текста:
<div id="switch_txt">00.00</div>
А как быть если надо несколько запросов обрабатывать например
1. Контроль нажатия на кнопку
2. Набор текстовых значений?
  • Вопрос задан
  • 692 просмотра
Пригласить эксперта
Ответы на вопрос 1
@kn0ckn0ck
Продюсер
AJAX он от слова "асинхронный".

В одном месте кода идет запрос:
request.open("GET", "temp" + nocache, true);
request.send(null);


в другом месте кода обрабатывается ответ:
request.onreadystatechange = function() {
if (this.readyState == 4) { // тут и ниже просто проверка статусов, они разные могут быть
if (this.status == 200) {
if (this.responseText != null) {
// здесь ответ от сервера подставляется в HTML
document.getElementById("switch_txt").innerHTML = this.responseText;
}}}}


чего тут непонятного? Вообще, вся эта история из Веб-технологий, чтобы понять что такое HTTP-протокол, запросы, как они обрабатываются и зачем тут AJAX, посмотрите вводные материалы по Веб-разработке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы