为什么我总是用此ajax帖子收到未定义的响应到php?

男性

我在span元素上使用mouseover事件来启动对php页面的ajax post调用,但是我总是变得不确定,首先是当我使用简单的echo获取响应时才是responseText,现在是当我使用responseXML时。有人可以解释一下为什么吗。这是ajax代码:

var span = document.getElementsByTagName('span');

for (var i = 0; i < span.length; i++) {
   span[i].addEventListener("mouseover", showInformation, false);
}

function showInformation(event) {
    var xhr = new XMLHttpRequest();

    xhr.open("POST", "../includes/ajax_response.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        content(xhr, event);
    }
};

xhr.send("uname=" + event.target.firstChild.textContent);
}

function content(xhr, event) {
    var info = document.getElementById('displayInformation');
    var xmlResponse = xhr.resopnseXML;
    var xmlDocumentElement = xmlResponse.documentElement;
    var message = xmlDocumentElement.firstChild.data;
    info.innerHTML = message;
    info.style.visibility = "visible";
    event.target.addEventListener("mouseout", function() {
    document.getElementById('displayInformation').style.visibility = "hidden";
    }, false);
}

这是PHP代码:

$username = $_POST['uname'];
$query = "SELECT id, joined FROM users WHERE username = '{$username}' LIMIT 1";
$first_result = Database::getInstance()->query($query);
if ($first_result->num_rows == 1) {
    foreach ($first_result as $first) {
        $id = $first['id'];
        $joined = $first['joined'];
    }
}
$first_result->free();

$query = "SELECT COUNT(message) AS count FROM blogs WHERE user_id = '{$id}'";
$results = Database::getInstance()->query($query);
if ($results) {
    foreach ($results as $result) {
        $number = $result['count'];
    }
}

header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<response>';
        echo "joined: {$joined}";
        echo "number of posts: {$number}";
echo '</response>';

这是带有xml的php版本,我厌烦了Just$username = $_POST['uname']和then的简单版本echo $username,但始终未定义响应。

nvkrj

我读过一次您的代码,似乎没有任何重大错误。但是,我发现了这个小错误:

var xmlResponse = xhr.resopnseXML;

responseXML的拼写不正确..也许这就是导致xmlResponse不确定的原因?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的 pdo 变量总是未定义?

为什么我的函数总是返回未定义的?

为什么当我在php中广告0 + 0时,我收到未定义的变量?

为什么我不断收到未定义的方法错误?

为什么我收到未定义的“儿童”电话?

为什么我收到错误“未定义的变量数据”?

为什么我仍然收到“未定义jQuery”错误

为什么我不断收到“未定义的引用”错误?

为什么我收到“isupper 未定义”错误?

为什么我收到错误:窗口未定义?

为什么我在 EJS 中收到“未定义”错误?

为什么在使用AJAX / PHP时会收到未定义索引错误?

为什么我会收到此“主页未定义无未定义”错误

为什么用settimeout未定义ajax值返回?我如何解决它?

我是PHP的新手,我不明白为什么会收到这个未定义的变量错误

为什么未定义此数组?

为什么此语句未定义?

为什么会收到有关此脚本{未定义}的{引用错误}?

为什么我在 C:\wamp64\www\form\appointmentform.php 中收到“未定义变量:POST”通知?

为什么我的 axios 帖子在我的功能组件中返回未定义?

Angular为什么此HTTP请求响应数组的长度未定义?

为什么我的User.props总是未定义?React-Native和Redux

获取输入文本时,为什么我的evt.target.value总是未定义?

为什么我的函数(调用时)总是以未定义的形式返回?

Sencha Touch-为什么在我的自定义组件中未定义此功能?

我为什么会收到此错误:Uncaught TypeError:无法读取未定义的属性“ john”

为什么我收到此错误“未定义不是函数”

为什么我会收到该错误调用未定义方法Facebook \ Facebook :: api()?

为什么我的回调函数收到未定义的参数值?