Отправка сообщения из поля ввода HTML с использованием ajax и отображение ответа - PullRequest
0 голосов
/ 01 июня 2019

Когда я загружаю этот файл на свой сервер и запускаю адрес из браузера, поле ввода отображается и работает, но когда я ввожу новую строку, я не получаю ответ.

<!DOCTYPE html>
<html>
<body>

<h2>Sending / retrieving a message with AJAX</h2>
<label for="name">Enter message below:</label><BR>
<input type="text" id="msgID" name="name" onchange="loadDoc()" required minlength="1" size="30">

<p id="demo"></p>

<script>
var newmsg = document.getElementById("msgID").value;
var blob = new Blob([newmsg], {type: 'text/plain'});
var url = URL.createObjectURL(blob);
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", url, true);
  xhttp.send();
}
</script>

</body>
</html>

1 Ответ

1 голос
/ 01 июня 2019

Ваш URL не обновляется на обмен. Вы должны обновить URL со значением msgID и отправить XMLHttpRequest на новый URL.

<!DOCTYPE html>
<html>
<body>

<h2>Sending / retrieving a message with AJAX</h2>
<label for="name">Enter message below:</label><BR>
<input type="text" id="msgID" name="name" onchange="loadDoc()" required minlength="1" size="30">

<p id="demo"></p>

<script>
function loadDoc() {
  var newmsg = document.getElementById("msgID").value;
  var blob = new Blob([newmsg], {type: 'text/plain'});
  var url = URL.createObjectURL(blob);
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML = this.responseText;
    }
  };
  xhttp.open("GET", url, true);
  xhttp.send();
}
</script>

</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...