首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Ajax的url将值传递给servlet,出现空错误

2012-12-15 
Ajax的url将值传递给servlet,出现空异常 body onLoad initAjax()script LANGUAGE JavaScriptv

Ajax的url将值传递给servlet,出现空异常


 <body onLoad = "initAjax()">
  <script LANGUAGE = "JavaScript">
var xmlHttp;
function initAjax(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
window.alter("该浏览器不支持Ajax");
}
}
}
}
  function query(){
  var select = document.queryForm.select.value;
var keyword = document.queryForm.keyword.value;
var url = "querySer?select = " + select + "&keyword = " + keyword;
xmlHttp.open("post",url,true);
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4){
  ResuleSet.innerHTML = xmlHttp.responseText;
  }
}
xmlHttp.send();
}
  </script>
    <h1>Welcome to CD_Selling Online System of Music Company</h1><hr>
    <form name = "queryForm">
    <select name = "select">
    <option value = "By CD_Name">By CD_Name</option>
    <option value = "By Singer">By Singer</option>
    <option value = "By Song">By Song</option>
    </select>
    <input type = "text" name = "keyword">
    <input type = "button" value = "query" onClick = "query()">
    </form>
    <div id = "ResuleSet"></div>
  </body>
为什么不能把select和keyword的值传给servlet呢(能够进入servlet)
[最优解释]
传递前前台能取到select 和keyword的值吗?
[其他解释]
引用:
引用:传递前前台能取到select 和keyword的值吗?
我用window.alter(select);页面没反应,应该是不能得到

window.alter(select);

-->window.alert(select);
[其他解释]
引用:
传递前前台能取到select 和keyword的值吗?

我用window.alter(select);页面没反应,应该是不能得到
[其他解释]
引用:
传递前前台能取到select 和keyword的值吗?
所以还是老实用document.getElementById()  

[其他解释]
引用:
引用:传递前前台能取到select 和keyword的值吗?所以还是老实用document.getElementById()  

用docement.```.```.value不好呢?
[其他解释]
引用:
引用:引用:传递前前台能取到select 和keyword的值吗?
我用window.alter(select);页面没反应,应该是不能得到


window.alter(select);

-->window.alert(select);


这个。。。失误,经过修改后,js能获得queryForm表单的值,但就是传不到servlet里面去
  <servlet-mapping>
    <servlet-name>querySer</servlet-name>
    <url-pattern>/querySer</url-pattern>
  </servlet-mapping>

这事关于servlet的配置文件
[其他解释]
错误我自己找到了,原因在于我的select下拉列表的value有空格。。。。所以。。传不了
[其他解释]
引用:
引用:引用:引用:传递前前台能取到select 和keyword的值吗?
我用window.alter(select);页面没反应,应该是不能得到
window.alter(select);

-->window.alert(select);
这个。……


你的是拦截  <url-pattern>/querySer</url-pattern>

而你的js写的是相对当前路径追加路径

所以你要改成绝对路径来访问
var url = "/querySer?select = " + select + "&keyword = " + keyword;


试试吧、

热点排行