Ajax не запускает onreadystatechange - PullRequest
0 голосов
/ 28 февраля 2019

Я знаю, что URL работает так, как задумано, поскольку я зарегистрировал это на консоли, и это нормально.Однако я не могу получить «Хорошие новости» для входа в консоль, когда readyState == 4 и status == 200. Я попытался удалить readState, но он все равно не смог войти.Я попытался зарегистрировать статус, и он срабатывал только один раз со значением 0. Это первый раз, когда я работаю с Ajax, поэтому любая помощь приветствуется.

function setupRequest(){
  var bttn = document.querySelector('#send');

  bttn.addEventListener('click', sendData)
}

setupRequest();

function sendData () {

console.log('ran')
  var url = 'localhost/bev/drinks.php';

  var data = document.getElementById('input').value;
  url += '?' + 'alcohol=' + data;

console.log(url)

 var request = new XMLHttpRequest();
 request.onreadystatechange = function () {
  if (this.readyState == 4 && this.status == 200) {
    console.log('good news')
            console.log(this.responseText)
        } else {
    console.log(this.status)
        }
    }

 request.open('GET', url, true);
 request.send;

  console.log('sent')

}

1 Ответ

0 голосов
/ 28 февраля 2019

Вам нужно на самом деле позвонить send().Вы ничего не делаете, когда говорите request.send;

function setupRequest() {
  var bttn = document.querySelector('#send');

  bttn.addEventListener('click', sendData)
}

setupRequest();

function sendData() {

  console.log('ran')
  var url = 'https://jsonplaceholder.typicode.com/posts';

  var data = document.getElementById('input').value;
  //url += '?' + 'alcohol=' + data;

  console.log(url)

  var request = new XMLHttpRequest();
  request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      console.log('good news')
      console.log(this.responseText)
    } else {
      console.log(this.status)
    }
  }

  request.open('GET', url, true);

  // You wrote (without parentheses):
  ///////////////////
  // request.send; //
  ///////////////////

  // You need to write
  request.send();

  console.log('sent')

}
<button type="button" id="send">Btn</button>
<input type="text" id="input">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...