日期:2014-05-19  浏览次数:20660 次

ajax向servlet传递参数问题
本帖最后由 lv_cha1 于 2013-01-23 23:02:27 编辑
有一个ajax想向com.servlet包下的一个servlet传递参数。

js文件如下:
function setuser(o) {
createXMLHttpRequest();
var url = "/servlet/userServlet?userid="+o.userid+"&username="+o.username;
alert(url);//可以显示userid和username的值,说明jsp页面已经把userid和username传递过来
xmlrequest.open("get", url, true);
xmlrequest.onreadystatechange = getuser;
xmlrequest.send(null);
}

function getuser() {}

servlet代码为:

public class userServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletExceptionIOException {

response.setContentType("text/html;charset=utf-8");
//让浏览器禁用缓存
response.setHeader("Cache-Control","no-cache");
PrintWriter out = response.getWriter();
String userid = request.getParameter("userid");
String username = request.getParameter("username");
System.out.println(userid);
System.out.println(username);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

this.doGet(request, response);
}

}

ajax servlet

------解决方案--------------------
你既然用的不是注解,你不用在web.xml配置你的servlet的吗?
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>包名.userServlet</servlet-class>
</servlet>

后面的就不说了
------解决方案--------------------
<servlet-mapping>
????<servlet-name>userServlet</servlet-name>
????<url-pattern>/userServlet</url-pattern>
??</servlet-mapping>
你这里的映射路径写的很清楚呀。是userServlet 不是 /servlet/userServlet 所以URL这样写:
var url = "/userServlet?userid="+o.userid+"&username="+o.username;
红色的斜杠你试试看是不是需要。


------解决方案--------------------
var url = "userServlet?userid="+o.userid+"&username="+o.username;
------解决方案--------------------
createXMLHttpRequest()跟xmlrequest定义的部分是不是有问题?