读书人

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

发布时间: 2012-12-15 15:16:03 作者: rapoo

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;


试试吧、

读书人网 >Java Web开发

热点推荐