мой код ajax не отправляет данные на сервер и не получает ответ - PullRequest
0 голосов
/ 14 октября 2019

Почему мой код PHP AJAX не работает? Я новичок в PHP и только начал изучать AJAX.

index.html:

<html>
  <head>
    <script>
      function sendmessage(str) {
        var xmlhttp;
        if (window.XMLHttpRequest) {
          xmlhttp = new XMLHttpRequest();
        } else {
          alert("failed");
        }
        xmlhttp.open("GET", "myserver.php?name=" + str, true);
        xmlhttp.send();
      }
    </script>
  </head>

  <body>
    <input type="button" value='ok' onclick="sendmessage('ssss')">
  </body>
</html>

Код на стороне сервера (myserver.php)

<html>
  <body>
    <h1>Server1</h1>
    <?php
          $q=$_GET['name']; 
          echo "Server ran successfully data is $q";
    ?>
  </body>
</html>

Я просто хочумой код для отправки данных 'ssss' на сервер и ответ сервера с добавлением дополнительного сообщения, которое я затем показываю на стороне клиента.

Я вижу сообщение в инструменте разработчика, но не на веб-странице. Как мне поступить?

Ответы [ 3 ]

1 голос
/ 14 октября 2019

Вы должны думать об AJAX как о «разговоре» между двумя страницами: «index.html» задает вопрос (запрос) к «server.php» и ожидает ответа. Это обмен.

Теперь, что вам удалось, это сделать первую часть, задавая вопрос. Но теперь ваша страница «index.html» ждет ответа. Это может быть text, xml, Json ... но он ожидает, что ответ на него изменится с помощью javascript. Этот ответ дается файлом server.php. Например, прямо сейчас вы отвечаете на страницу «index.html» следующей строкой

«Сервер успешно запущен, данные $ q»

, посмотрите на этиосновные примеры того, как проверить ответы https://www.w3schools.com/xml/ajax_xmlhttprequest_response.asp и если что-то все еще неясно, вы можете прокомментировать ниже

1 голос
/ 14 октября 2019

Я думаю, вам нужно изменить параметр метода $ _GET [].

<html>
    <body>
        <h1>Server1</h1>
    <?php
    $q=intval($_GET['name']));
    echo "Server ran successfully data is $q";
    ?>
    </body>
</html>
0 голосов
/ 14 октября 2019
  $q=$_GET['name'];  echo "Server ran successfully data is $q";

вы должны изменить код файла сервера с этим кодом, и вы можете проверить свою консоль. это работает

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