刚学了ajax 但是servlet接受不到我的username值
js代码:
<script type="text/javascript">
var xmlHttpRequest=null;
function ajaxsubmit(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
if(null!=xmlHttp){
var username=document.getElementsByName("username")[0].value;//username值不为空,用alert()能打印出来
var url="ajaxservlet?username="+username;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=ajaxCallback;
xmlHttp.send(null);
}
}
function ajaxCallback(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var responseText=xmlHttp.responseText;
document.getElementById("div1").innerHTML=responseText;
}
}
}
</script>
在servlet中用
String username=request.getParameter("userame");
接收传过来的username值,但是后台始终报空,应该如何传参接收
------解决方案--------------------
var url="ajaxservlet?username="+encodeURIComponent(username);
另外,你的代码写错了
String username=request.getParameter("userame");
应该是
String username=request.getParameter("username");
少了一个n
------解决方案--------------------
设置好编码吧。如果你是中文,用的是get方法,用的是tomcat服务器,可以在server.xml的配置文件中找到connerter的那个元素的配置,加一个URIEncoding="gbk"或utf-8即可。