Ajax没有显示服务器答案

时间:2019-03-23 23:07:32

标签: javascript php ajax

我正在用php进行简单的聊天,当我向用户发送ajax消息时,该消息未显示在页面中,我现在开始学习ajax,所以我不知道这是怎么回事代码,就像我在w3schools中看到的一样

现在,我只是尝试检查消息是否将显示在页面中,而不是真正在服务器中什么也不做,当我可以解决此问题时,我将使类发送到数据库,并尝试发送通过邮寄,但也无法正常工作

// this is the ajax in the chat.html

<script type="text/javascript">
    let send = document.querySelector('#send-mes');
    send.addEventListener('click', load);

    function load() {
        let msg = chat.msg.value;
        let xml = new XMLHttpRequest();

        xml.onreadystatechange = function() {
            if (this.readystate==4&&this.status==200) {
                    let content = document.querySelector('#content');
                content.innerHTML = this.responseText;
                }
            }
        xml.open('get', 'ajx.php?msg='+msg, true);
        xml.send();
    }
</script>
////////////////////////////////////////////////////////////////////////////

// this is the code in the server ajx.php

$ajx = $_REQUEST['msg'];
echo $ajx;

我希望ajax发送到服务器的消息出现在#content标签中(我没有在此处放置标签),但是什么也没有发生(后来我将改进服务器,现在我只是想要解决此问题),如果有人想查看所有代码,则可以在我的github https://github.com/CristoferPortela/chatbox.git

中看到

2 个答案:

答案 0 :(得分:0)

我将您的代码编辑为下面的代码并正常工作。

<!DOCTYPE html>
<html>
	<head></head>
	<body>
	
	<div>
		<input id="msg">
		<button id="send-mes">Send</button>
	</div>
	
	<div id="content">
	</div>
	
<script>
    let send = document.querySelector('#send-mes');
    send.addEventListener('click', load);

    function load() {
        let msg = document.querySelector('#msg').value;
        let xml = new XMLHttpRequest();

        xml.onreadystatechange = function() {
            if (this.readyState == 4 && this.status == 200) {
                let content = document.querySelector('#content');
                content.innerHTML = this.response;
            }
        }
        xml.open('GET', 'ajx.php?msg='+msg, true);
        xml.send();
    }
</script>
	
	</body>
</html>

答案 1 :(得分:-1)

您可以将jQuery用于ajax请求,它比这种老式的方法容易得多:

第一步:添加jQuery

 <head>
 <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
 </head>

第二步:Ajax获取方法

  $.ajax(
{
    url: 'ajx.php',
    type:'GET'
    dataType: 'text',
    data: {msg: "msg"},
    success: function(data)
    {
        window.alert(data);
    }
})