AJAX для нескольких объектов на чистом javascript

197
11 января 2018, 23:43

Добрый день. Есть элементы, по которым необходимо асинхронно получать информацию и выводить в отдельный блок при нажатии на кнопку, но я понять не могу, как сделать это. Помогите, пожалуйста.

Без каких-либо библиотек.

Ниже мои потуги.

<script>
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
  if(xhr.readyState === 4){
    document.getElementById('ajax').innerHTML = xhr.responseText;
  }
};
</script>
<ul>
<script>
xhr.open('GET','function_snmp.php?id=1')
    function sendAJAX()
    {
      xhr.send();
    }
</script>
<li>город Екатеринбург, улица Сельская, дом 6</li>
<button onclick="sendAJAX()" class="button">Подробнее</button>
<div id="ajax"></div>
</ul>
<ul>
<script>
xhr.open('GET','function_snmp.php?id=2')
    function sendAJAX()
    {
      xhr.send();
    }
</script>
<li>город Москва, улица Московская, дом 5</li>
<button onclick="sendAJAX()" class="button">Подробнее</button>
<div id="ajax"></div>
</ul>
Answer 1

У вас изначально ошибка в верстке нельзя двум блокам задавать одинаковый id можжно зделать так :

    <script>
        function sendAJAX(idDOM, id){
            var xhr = new XMLHttpRequest();
            xhr.open('GET', 'function_snmp.php?id='+id, true)
            var DOM = document.getElementById(idDOM);
            DOM.innerHTML = xhr.responseText
        }
    </script>
    <ul>
    <li>город Екатеринбург, улица Сельская, дом 6</li>
    <button onclick="sendAJAX('ajax1', 1)" class="button">Подробнее</button>
    <div id="ajax1"></div>
    </ul>
    <ul>
    <li>город Москва, улица Московская, дом 5</li>
    <button onclick="sendAJAX('ajax2', 2)" class="button">Подробнее</button>
    <div id="ajax2"></div>
    </ul>

на странице "function_snmp.php" сформируйте нужный html

READ ALSO
Система каталогов на javascript (directory tree)?

Система каталогов на javascript (directory tree)?

Ищу виртуальную систему каталогов на javascript, максимально простую, компактную и быструюЖелательно работающую с node js, либо не привязанную к какой...

166
Работа PHP 7.1 после установки из исходников

Работа PHP 7.1 после установки из исходников

Решил собрать версию php 71 вручную, на CentOS 6

166
Авторизация на сайте с помощью Яндекс.Ключ 2FA

Авторизация на сайте с помощью Яндекс.Ключ 2FA

ЗдравствуйтеЕсть приложение яндекса Яндекс

172
Не могу правильно обработать foreach

Не могу правильно обработать foreach

Есть вот такой массив:

167