无法获取xmlhttp.responseText值

时间:2015-09-08 19:57:02

标签: javascript ajax xmlhttprequest

我正在尝试获取xmlhttp.responseText值,但我没有来自xmlhttp的响应。我想知道我的代码是否有问题:

SCRIPT

var xmlhttp;

function show(){
    loadXMLDoc("includes/edit.php",function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
                        alert(xmlhttp.responseText);

    }
});
}


function loadXMLDoc(url,cfunc){
    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}

HTML

< a href="#" style="text-align: right; font-size: 10px;" onclick="show()">SHOW</a>

EDIT.PHP

print "1";

1 个答案:

答案 0 :(得分:0)

我认为您的代码本身没有任何问题,但是此代码段中有很多不透明的互动。

但我可以提供一些问题排查提示:

  1. 在回调函数中添加一个控制台日志(正在运行alert()的日志)。只是“console.log('函数正在运行');”在第一行。然后看看你是否走得那么远。我也会把一个放在show()的开头行 - 也许你的点击事件没有做你想象的那样。

  2. 让你的PHP服务器端文件写入日志,这样你就可以确定收到的请求是你认为的。

  3. 打开浏览器开发者控制台并观看网络面板。您应该能够在那里看到整个XHR交易。它被发送了吗?如果是这样,它是否会返回您期望的内容?

  4. 如果这一切都无济于事,请在jsfiddle中设置测试并在此处发布链接。我们将能够以这种方式提供更多详细信息。

  5. 祝你好运。