AJAX向servlet传值收不到
///////////////////////////////////这里是ajax//////////////////////////////省去部分。。。functi...
/////////////////////////////////// 这里是ajax //////////////////////////////
省去部分。。。
function like(){
var film=document.getElementById("like").value;
var name=<%=Str%>;
createXMLHttpRequest();
var url ="MessageServlet?method=3";
xmlHttp.open("post",url,true);
xmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
xmlHttp.send("user="+escape(name)+"&film="+escape(film));
xmlHttp.onreadystatechange = showResult;
}
//////////////////////////////////////// servlet ,有多个方法,这里需要的是method=3时的 //////////////////////////////////
。。。。。省去
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
method = Integer.parseInt(request.getParameter("method"));
。。。。。
if(method==3){
like(request,response);
}
}。。。。。。。。。。。省去其他方法
public void like(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
String username=request.getParameter("user");
String filmname=request.getParameter("film");
film Film=new film();
Film.setFilmname(filmname);
Film.setUser(username);
Dao like=DaoFactory.creatDao();
try{
like.like(Film);
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /////////////////// method可以收到,执行like方法,但是“user”和“film”都是null 展开
省去部分。。。
function like(){
var film=document.getElementById("like").value;
var name=<%=Str%>;
createXMLHttpRequest();
var url ="MessageServlet?method=3";
xmlHttp.open("post",url,true);
xmlHttp.setRequestHeader("content-type", "application/x-www-form-urlencoded");
xmlHttp.send("user="+escape(name)+"&film="+escape(film));
xmlHttp.onreadystatechange = showResult;
}
//////////////////////////////////////// servlet ,有多个方法,这里需要的是method=3时的 //////////////////////////////////
。。。。。省去
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
method = Integer.parseInt(request.getParameter("method"));
。。。。。
if(method==3){
like(request,response);
}
}。。。。。。。。。。。省去其他方法
public void like(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
String username=request.getParameter("user");
String filmname=request.getParameter("film");
film Film=new film();
Film.setFilmname(filmname);
Film.setUser(username);
Dao like=DaoFactory.creatDao();
try{
like.like(Film);
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /////////////////// method可以收到,执行like方法,但是“user”和“film”都是null 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
前台js,alert一下看看film,user取到值没有,用firefox看下你发出去的ajax请求发送内容部分有内容不
更多追问追答
追问
alert里有显示。我尝试着把method=3也写进send()里,servlet可以收到这个,因为提示数据库不能插入null,说明就是user和film收不到
追答
method=3肯定是可以的啊,这个参数是你接在url后面的,你可以尝试把参数都放到url后面
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询