Как использовать AJAX в веб-симуляции, XAMPP - PullRequest
0 голосов
/ 05 марта 2019

Я совершенно новичок в Ajax, но хочу научиться им пользоваться. Я прочитал раздел «Начало работы», предоставленный Mozilla, и следую за ним, но он не может открыть функцию onreadystatechange.

Вот мой код

<!DOCTYPE html>
<html>
    <head></head>
    <body>
        <form action=""> 
            Other info: <textarea cols=50 rows=10 
                                  onblur = "processText(this.value)"
                                  id='info1'></textarea>"
        </form>

        <script>
            function processText(str) {
                var xhttp;
                xhttp = new XMLHttpRequest();
                alert('After new XMLHttpRequest');
                alert('ready state 1' + xhttp.readyState);
                xhttp.onreadystatechange = function () {
                    alert('onready statechange function entered');
                };

            }
        </script>
    </body>
</html>

Я уменьшил это до минимума, чтобы показать проблему. Когда я запускаю это, я вводю некоторый текст в поле, затем перемещаю курсор наружу, «onblur». Это правильно вызывает функцию «processText (str)» и выводит предупреждение «После нового XMLHttpRequest». Следующее предупреждение показывает ReadyState = 10 (я думал, что возможны только от нуля до 4!). Предупреждение «Введена функция смены состояния» не отображается.

Я видел инфо-информацию о стеке потока Как заставить AJAX работать на локальном сервере, используя XAMPP или node.js

упоминается, что может потребоваться установить порт. Я использую порт 1337, поэтому я получаю страницу XAMPP через localhost: 1337. Однако я не могу найти, как установить порт, если это проблема.

Вот моя конфигурация: XAMPP версия 3.2.2 Netbeans 8.1 Internet Explorer 11

1 Ответ

0 голосов
/ 05 марта 2019

Ajax-запрос нуждается в методах открытия и отправки. Добавляя эти строки в ваш пример, вы фактически делаете запрос ajax.

function processText(str) {
  var xhttp = new XMLHttpRequest();
  alert('After new XMLHttpRequest');
  alert('ready state 1' + xhttp.readyState);
  xhttp.open('get', 'http://your.url/path:port'); // <- new
  // -> https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open
  xhttp.onreadystatechange = function () {
    alert('onready statechange function entered');
  };
  xhttp.open(null); // <- new
  // -> https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...