ajax新手问题:POST方式传参,服务器取不到值请高手帮忙看下代码
RT
脚本文件
var xmlhttp;
function verify(){
var userName=document.getElementById("userName").value;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml")
}
}else if(window.ActiveXObject){
var activexName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0;i<activexName.length;i++){
try{
xmlhttp=new ActiveXObject(activexName[i]);
break;
}catch(e){
}
}
}
if(!xmlhttp){
alert("XHR创建失败!");
return;
}else{
alert(xmlhttp.readyState);
}
xmlhttp.onreadystatechange=callback;
var arg="name=abc";
xmlhttp.open("POST","AJAXsServer",true);
xmlhttp.setRequestHeader("Content-Length",arg.length);
xmlhttp.setRequestHeader("CONTENT-TYPE","applicaton/x-www-form-urlencoded");
xmlhttp.send(arg);
}
function callback(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var responseText=xmlhttp.responseText;
var divNode=document.getElementById("result");
divNode.innerHTML=responseText;
}
}
}
后台服务器接受的文件AJAXsServer.java
public class AJAXsServer extends HttpServlet{
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
try{
httpServletResponse.setContentType("text/html;charset=utf-8");
PrintWriter out=httpServletResponse.getWriter();
String old =httpServletRequest.getParameter("name");
System.out.println(httpServletRequest.getParameterMap());
out.println(old);
if(old==null||old.length()==0){
out.println("用户名不能为空");
}else{
if(old.equals("wangxingkui")){
out.println("username is already used "+" "+old);
}else{
out.println("you can use this name "+" "+old);
}
}
}catch (Exception e){
e.printStackTrace();;
}
}
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
doGet(httpServletRequest, httpServletResponse);
}
}
web.xml我就不贴了,没有问题的,页面是一个text,一个button,按下button会把text的内容传到脚本文件中,然后判断这个内容是否等于wangxingkui。熟悉这个代码的应该发现这是传智视频里面的例子,我按着视频做,结果做到post方式就不行,也不报错。问题是我的AJAXsServer中取不到参数,System.out.println(httpServletRequest.getParameterMap());出来全是空的。不知道哪位仁兄可以解答一下