我正在用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
中看到答案 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);
}
})