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)

);
);
这里想传一个字符串到服务器端,服务器段应该如何接收呢

ajax的传值类似用java写窗口应用程序,通过按钮=》触发器=》接收函数来完成

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了。

参考技术C 如下:
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数组,两个麻烦都给举个例子)

PHP怎么接收jQuery的Ajax post过来的值?

java的servlet里如何获取jsp页面上用ajax传过来的文件?

jquery通过AJAX接受PHP传过来的值。怎么接收?

在struts2中如何接收ajax传过来的参数

asp页面用啥代码接收ajax传过来的json数据