servlet如何接收ajax里传过来的data
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servlet如何接收ajax里传过来的data相关的知识,希望对你有一定的参考价值。
$.ajax(
type:"POST",
url:"http:localhost:8080/Servlet/Login"
data: string
success:function(returnData)
alert(name)
);
);
这里想传一个字符串到服务器端,服务器段应该如何接收呢
1、jsp页面部分ajax传值
function liuyan_chafenyeshu(meiyetiaoshu)
$.post("<%=request.getContextPath()%>/LiuYanAction", method:"fenyeshu", tiaoshu:meiyetiaoshu ,function (data)
$("#fenyeshu").html(data);
,"text");
原理解释:
这个是JS事件挂AJAX发送post方式的json数据。
这里是你需要的:json是通用的数据传递格式,JSON数据使用扩起来,里面使用","逗号把每个数据成员分开,然后每个数据成员都是key:val形式。
比如我上面的例子中有method:"fenyeshu"那么在servlet中的service可以使用String method = request.getParameter("method")接到method:"fenyeshu"中的 fenyeshu。后面的tiaoshu等也是同样可接接到。
2、servlet 中web.xml设置(不设置这个没办法传值)
<servlet>
<description></description>
<display-name>LiuYanAction</display-name>
<servlet-name>LiuYanAction</servlet-name>
<servlet-class>xxxxxxxxxx.LiuYanAction</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LiuYanAction</servlet-name>
<url-pattern>/LiuYanAction</url-pattern>
</servlet-mapping>
原理解释:
jsp页面post的方法"<%=request.getContextPath()%>/LiuYanAction"对应<url-pattern>/LiuYanAction</url-pattern>
然后在对应<servlet-name>LiuYanAction</servlet-name> 找到<display-name>LiuYanAction</display-name>传给执行的类xxxxxxxxxx.LiuYanAction
3、xxxxxxxxxx.LiuYanAction中接收ajax传过来的参数
public class LiuYanAction extends HttpServlet
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String method = request.getParameter("method");
System.out.println("留言servlet接收到method信息" + method);
原理解释:
String method = request.getParameter("method"); 接可以接到method值 参考技术A 对应的servlet获取参数应该是
String string = request.getParameter("string");前一个string随便取名,后面的string必须与data: string中的string一致 参考技术B 在servlet的post方法中接收,当一般的JSP的form接收就好
String value=request.getParameter("<Name>");追问
这里的""要跟哪里对应,能说具体点么
追答data: string
这是递交中的写法。其实,string是 name=value的写法的,那这个name就递交前的name了。
if (val != "")
var url = "$pageContext.request.contextPath/json";
$.post(url, "name":"Lanny","age":25,"location:"China", function(data)
$("#message").html(data);
);
String name =request.getParameter("name");
String age=request.getParameter("age");
String location=request.getParameter("location");
以上是关于servlet如何接收ajax里传过来的data的主要内容,如果未能解决你的问题,请参考以下文章
asp.net页面如何接收AJAX传递过来的数组(普通数组和jason数组,两个麻烦都给举个例子)