代码之家  ›  专栏  ›  技术社区  ›  user193464

Ajax数据不发送,但请求文件

  •  -1
  • user193464  · 技术社区  · 7 年前

    我正在尝试使用带有xhttprequest的ajax构建一个聊天系统。我请求文件,文件响应,但是get数据没有到达它。我甚至试着用post发送它们,但数据仍然没有到达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 回复  |  直到 7 年前
        1
  •  1
  •   officialMKL    7 年前

    所以我在学校里发现了这个: 发送(字符串):将请求发送到服务器。用于POST请求

    我建议您将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();
    

    链接到文档: https://www.w3schools.com/xml/ajax_xmlhttprequest_create.asp