我正在尝试获取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";
答案 0 :(得分:0)
我认为您的代码本身没有任何问题,但是此代码段中有很多不透明的互动。
但我可以提供一些问题排查提示:
在回调函数中添加一个控制台日志(正在运行alert()的日志)。只是“console.log('函数正在运行');”在第一行。然后看看你是否走得那么远。我也会把一个放在show()的开头行 - 也许你的点击事件没有做你想象的那样。
让你的PHP服务器端文件写入日志,这样你就可以确定收到的请求是你认为的。
打开浏览器开发者控制台并观看网络面板。您应该能够在那里看到整个XHR交易。它被发送了吗?如果是这样,它是否会返回您期望的内容?
如果这一切都无济于事,请在jsfiddle中设置测试并在此处发布链接。我们将能够以这种方式提供更多详细信息。