- JScript code
function Change_Select(){//当第一个下拉框的选项发生改变时调用该函数 var equipName = document.getElementById('equipName').value; var url = "SelectServlet?id="+ equipName; alert("url=" + url); if(window.XMLHttpRequest){ req = new XMLHttpRequest(); }else if(window.ActiveXObject){ req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ //通过GET方法向指定的URL建立服务器的调用 req.open("GET",url,true); //指定回调函数为callback req.onreadystatechange = callback; req.send(null); } } function callback(){ if(req.readyState ==4){ [color=#FF0000]alert("req.status=" + req.status);[/color] if(req.status ==200){ parseMessage();//解析XML文档 }else{ alert("不能得到描述信息:" + req.statusText); } } } //解析返回xml的方法 function parseMessage(){ ...... } </script>
var url = "SelectServlet?id="+ equipName; SelectServlet是xml中定义好的目录
- XML code
<servlet-mapping> <servlet-name>SelectServlet</servlet-name> <url-pattern>/SelectServlet</url-pattern> </servlet-mapping>
红色部分是我的测试语句,req.status值为404,not found。应该是url路径没找到,不知道为什么,请大家帮我找下吧,找了好长时间没找出问题。。。
------解决方案--------------------
你先看一看,你的服务启动时有没有错。如果没有错,那你单独把你的servlet测试一下,看行不行。
如果你单独测试没有问题,那你把req.open("GET",url,true);
//指定回调函数为callback
req.onreadystatechange = callback;
这个顺序调一下:
//指定回调函数为callback
req.onreadystatechange = callback;
req.open("GET",url,true);