此代码不会执行。我认为xhttp.send()
函数有问题。因为alert
函数在它执行之前执行但alert
函数在它执行之后没有执行:
<html>
<head>
<title>PAGE OUTPUT</title>
<script type="text/javascript">
function aa()
{
var xhttp;
alert("hi welcome");
if(window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
alert("hi");
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET","vehicle.xml",false);
alert("OPEN EXECUTED");
xhttp.send();
alert("SEND EXECUTED");
xmlDoc=xhttp.responseXML;
alert("HI I HAVE REACHED OVER HERE");
var vehicle=xmlDoc.documentElement;
var car=vehicle.firstChild.nodeValue;
var price=car.firstChild.nodeValue;
alert(price);
}
</script>
</head>
<body>
<center><input type="submit" onclick="aa()"></center>
</body>
答案 0 :(得分:1)
出于安全原因,您最好检查网址是否类似 file:/// path / to / file ,浏览器将无法从页面发送任何XHR(现在看来不合理)。
您应为此案例启动服务器,并在 http:// localhost / path / to / file 中访问该页面。我知道最简单的方法是启动Python SimpleHTTPServer。如果您使用的是MS Windows,则可以自己安装python,也可以在Mac /任何Linux发行版中使用。然后按照以下步骤操作
cmd
来启动一个终端)cd
到文件所在的路径python -m SimpleHTTPServer
http://localhost:8000/html_file
现在你会看到那些alert
。此外,如有必要,您可能需要将xmlDoc=xhttp.responseXML
更改为xmlDoc = xhttp.responseText
。
然后尝试jQuery,这对ajax来说要容易得多。
答案 1 :(得分:0)
取消提交按钮单击
onclick="aa(); return false;"