Ajax не показывает ответ сервера - PullRequest
0 голосов
/ 24 марта 2019

Я делаю простой чат в 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 tag (я не поместил тег здесь), но ничего не происходит (позже я улучшу сервер, теперь я просто хочу это исправить), если кто-то захочет увидеть весь код, вы можете увидеть в моемgithub https://github.com/CristoferPortela/chatbox.git

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Я отредактировал ваш код на приведенный ниже и он работает.

<!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>
0 голосов
/ 24 марта 2019

вы можете использовать jQuery для ajax-запроса, это намного проще, чем этот способ oldschool:

Первый шаг: добавить jQuery

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

второй шаг: Ajax get method

  $.ajax(
{
    url: 'ajx.php',
    type:'GET'
    dataType: 'text',
    data: {msg: "msg"},
    success: function(data)
    {
        window.alert(data);
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...