ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法
来源:互联网 发布:方正兰亭黑简体 mac 编辑:程序博客网 时间:2024/06/13 06:40
最近这段时间在学习用ajax刷新页面,分别学习了用jquery和ajaxanywhere去异步提交,接收处理数据.下面来记录一下:
一。
使用jquery进行提交数据的方式:
var params = {};
$.post(url,params,function(data)){
//data数据就是你从action返回的数据.
});
如果使用json其中的一种传值方式,就底下提到的extends = json-default方式就行传值,需要在post的这个提交方法的第三个参数function后面,加入一个第4个参数,也就是:
var params = {};
$.post(url,params,function(data)){
//data数据就是你从action返回的数据.
},'json');
这是在struts-default包下面的action的提交方式,当然,你也可以用$.ajax()或者$.get()的方式去提交,在这里就不说区别在哪里了.
ok,在JS当中获得数据,怎么在action当中返回需要的数据呢。
1.首先,如果你在struts.xml中是用继承extends = json-default的方式下的action,需要添加一个struts2-json-plugin-2.3.3.jar包,这个jar会自动给你把,例如从数据库里面查询到的list数据,转换成json格式. 在struts.xml中的写法是:
<package name="ajax" extends="json-default">
<action name="ajaxRequest" class="ajaxaction">
<result type="json">
<param name="root">list</param>
</result>
</action>
上面的 <param name="root">list</param>中的root,是必须的,当然也有其他形式的参数。list就是你action中的list。
这个list,只需要在action当中有get()方法就ok,action中方法的返回值的话,使用正常的success或者error等.
2.另外一种不继承 json-default的方式,使用json传值,要添加json-lib,ezmorph-1.0.6,commons-logging-1.1.1,commons.lang-2.5,commons-collections-3.2.1,commons-beanutils-1.8.0等包。
action当中把list使用jsonArray转换成字符串,
转换的方式是: JsonArray json = JsonArray.fromobject(list); String str = json.toString();
ok,这样的list就转换为了String类型的字符串。如果你不只需要传递list,你还可以在str后面按list里面存储的内容格式进行拼接字符串.再使用
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");//需要设置编码格式,不然如果传递的字符串中有中文,就会乱码
response.getWriter().write(str);
使用这种方式,就可以jiang装有list内容的str字符串返回给页面。
在页面的JS代码当中,获取的方式也有不同,因为传递的是字符串,所以需要在JS当中转换回来,
$.post(url,params,function(data)){
var json = JSON.parse(data);
//json数据就是你从action返回的数据.
//json[i].属性名可以取到list中的内容
});
当然,这个就不需要再post当中,使用第4个‘json’的参数。
ajaxanywhere没有写出来,等下次我再写.
- ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法
- jQuery ajax 提交表单数据的方法
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式
- jquery ajax提交表单数据的两种方式-
- jquery ajax提交表单数据的两种方式
- JQuery 的三种ajax提交方式
- JQuery 的三种ajax提交方式
- jquery的ajax提交数据
- jQuery使用serialize(),serializeArray()方法取得表单数据+字符串和对象类型两种表单提交的方法
- jquery 使用$.ajax post方法提交数据
- jquery ajax 提交表单的方式
- jquery.form.js实现将form提交转为ajax方式提交的方法
- jQuery的Ajax提交
- Ajax的post方式提交数据
- jquery ajax 提交checkbox数组的方法
- jQuery的ajax()方法提交数组问题
- JqueryMobile安装在服务器
- 计算机网络(浅谈SMTP协议)
- C# 使用正则表达式判断字符串是否由英文或数字组成
- 上拉使标题背景颜色渐变
- 深入对象的copy和mutableCopy
- ajax使用jquery提交或者ajaxanywhere2种提交方式的取得数据的方法
- Eclipse UML插件AmaterasUML的配置及使用
- HDU1029----Ignatius and the Princess IV(map实现)
- Found 2 versions of android-support-v4.jar in the dependency list怎么处理
- 颜色列表(中英文名称,RGB HSV CMYK值)
- VC 添加自定义消息
- 计算机网络(邮件访问协议_POP3&IMAP)
- 游戏服务器发展历程
- 程序员应该具备的十个代码习惯