为什么xmlResponse.documentElement返回Undefined?

时间:2016-05-25 20:37:38

标签: javascript php jquery ajax xml

我有以下JavaScript代码片段,它通过php脚本读取动态创建的XML文件,并在目标html页面中相应地写入文本。

    function process()
    {
        if(xmlHttp.readyState==0 || xmlHttp.readyState==4)
    {

        var user = encodeURIComponent(document.getElementById("email").value);
        var url = "http://localhost/dashboard/x/js/login.php?user="+user;
        xmlHttp.open("GET",url, true);
        xmlHttp.onreadystatechange = handleServerResponse;
        xmlHttp.send(null);
    }
    else
    {
        setTimeout('process()', 1000);
    }
}
    function handleServerResponse()
    {
        if(xmlHttp.readyState==4||xmlHttp.readyState==0)
        {
            if(xmlHttp.status==200)
            {
                xmlResponse = xmlHttp.responseText;
                xmlDocumentElement = xmlResponse.documentElement;
                alert(xmlDocumentElement);
                message = xmlDocumentElement.firstChild.data;
                document.getElementById("errorprompt").innerHTML = message;
                setTimeout('process()', 1000);
            }
            else
            {
                alert("something went wrong");
            }
        }
    }

login.php文件如下 -

<?php
header("Content-Type: text/xml");
echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
echo '<root>';
    $user=$_GET['user'];
    $userArray=array("vishalkhare39@gmail.com","khare39vishal@rediffmail.com");
    if(in_array($user,$userArray))
        echo '<div class="alert alert-success fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">;</a><strong>Danger!</strong> This alert box could indicate a dangerous or potentially negative action.</div>';
    else
        echo '<div class="alert alert-danger fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">;</a><strong>Danger!</strong> This alert box could indicate a dangerous or potentially negative action.</div>';
echo '</root>';
?>

我的问题很简单。我无法在index.html中的目标div上打印适当的数据。 我把它缩小了以找出原因。 这是因为在我的javascript代码中,行xmlDocumentElement = xmlResponse.documentElement;实际上在xmlDocumentElement中保存未定义,即xmlResponse.documentElement返回未定义。它显然不应该。

我只是想要一个补救措施。我知道它是由XML无法正确呈现引起的。但事实并非如此。我的XML在chrome和firefox(附加JPEG)上正确呈现。 enter image description here 请说明实际原因以及解决方法。 请不要将我的任何其他网页或链接重定向。我浪费了足够的时间来知道在任何地方都没有适当的回答。

0 个答案:

没有答案