首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AJAX POST返回空值

AJAX POST返回空值
EN

Stack Overflow用户
提问于 2014-01-01 16:07:24
回答 1查看 954关注 0票数 1

为了完成这项任务,我已经尝试和测试了大约一天的各种方法。请提前提醒我,我正在简单的建设,然后工作我的方式!

我有一个由文本区域和两个输入字段组成的表单。输入字段允许XMLHttpRequest发送与用户名有关的信息,并将消息发送到我试图创建的聊天室。

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

代码语言:javascript
运行
复制
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;
}

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

代码语言:javascript
运行
复制
<?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
}
?>

有人能提供我哪里出错的线索吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-01 16:13:28

在我看来,代码看起来不错,PHP代码正在DB中插入数据,但它没有返回任何文本或值。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20870450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档