Данные Ajax не отправляются, но запрашивают файл - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь построить систему чата, используя ajax с xhttprequest.Я запрашиваю файл, файл отвечает, но получить данные не доходит до него.Я пытался отправить их даже с постом, но все же данные не доходят до php-файла.Вот функция, которая запрашивает файл:

    function refreshChat(){
  if(username != ""){

    var date = new Date();
    var timezone_offset = date.getTimezoneOffset();

    $(".messages-container").empty();

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            $(".messages-container").html(this.responseText);
       }
    };
    xhttp.open("GET", "/chat/ajax_requests/get_messages.php", true);
    xhttp.send("receiver="+username+"&sender="+chat_with+"&limit="+limit+"&timezone_offset_minutes="+timezone_offset);
  }
}

И запрошенный файл имеет это:

  $receiver = $_GET['receiver'];
  $sender = $_GET['sender'];
  $limit = $_GET['limit'];
  $timezone_offset_minutes  = $_GET['timezone_offset_minutes'];

Что не так?

1 Ответ

0 голосов
/ 29 января 2019

Итак, я нашел это в w3schools: send (string): отправляет запрос на сервер.Используется для запросов POST send (): отправляет запрос на сервер.Используется для запросов GET

Я бы порекомендовал вам добавить строку из функции send в URL следующим образом:

xhttp.open("GET", "/chat/ajax_requests/get_messages.php?"+"receiver="+username+"&sender="+chat_with+"&limit="+limit+"&timezone_offset_minutes="+timezone_offset, true);
xhttp.send();

, тогда вы используете функцию send для запроса get.

Ссылка на документ: https://www.w3schools.com/xml/ajax_xmlhttprequest_create.asp

...