AJAX POST返回空值

时间:2014-01-01 16:07:25

标签: javascript php jquery ajax

我已经尝试并测试了各种方法来完成这项任务大约一天了。请注意,我正在简单地构建这个,然后继续努力!

我有一个由textarea和两个输入字段组成的表单。输入字段允许XMLHttpRequest发送与用户名和消息相关的信息 - 发送到我正在尝试制作的聊天室。

我对我的请求的问题,只是我可以发送信息,并在数据库中插入一行,但我无法获得任何信息!您将从下面的代码中看到,我已发出警报,以检查响应文本是什么,但它返回为空(不是undefined,而是"")。请检查以下代码:

function insertMessage() {
    var username = document.getElementById('username').value;
    var message = document.getElementById('message').value;
    var queryString = "username=" + username + "&message=" + message;

    // send the username and message information to be inserted into the database
    var url = 'classes/chatroom/chatroom.upload.php';

    // create xml request
    var request = createCORSRequest("POST", url)

    // create a function that will receive data sent from the server
    request.onreadystatechange = function () {
        if (request.readyState == 4 && request.status == 200) {
            alert(request.responseText);
        }
    }

    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.send(queryString);
}

function createRequest(method, url) {
    var thisRequest = new XMLHttpRequest();

    if ("withCredentials" in thisRequest) {
        // thisRequest has 'withCredentials' property only if it supports CORS
        thisRequest.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined") { // if IE use XDR
        thisRequest = new XDomainRequest();
        thisRequest.open(method, url);
    } else {
        thisRequest = null;
    }
    return thisRequest;
}

与插入数据库行有关的代码是:

<?php
include 'chatroom.config.inc.php';  // the database file

$message_username = $_POST['username'];
$message_content = $_POST['message'];

if ($message_username == "Username: Once entered, you don't have to enter again" || $message_username == "") {
    $message_username = "Guest";
}

if ($message_content == "Message:" || $message_content == "") {}
else {
    $users->post_message($message_username, $message_content); // insert database row using PDO query
}
?>

有人能提供我出错的地方的线索吗?

1 个答案:

答案 0 :(得分:1)

代码对我来说很好,你的PHP代码是在数据库中插入数据,但它没有返回任何文本或值。

对于要在客户端检索的值,即成功完成ajax请求后,您必须将数据发送到客户端。

尝试使用php的echo函数并返回文本/值。