jquery 的ajax请求传递json数据给struts的action

1.ajax用法

<span style="white-space:pre">		</span>$.ajax({
	 		dataType:'json',//标示使用json数据格式
	 		url:'AddNotice!AddNotice.action',//url,记得带action
	 		data:{<span style="color:#ff0000;">title</span>:<span style="color:#33ff33;">title</span>,content:content,notice:notice},//
                       //红色的和action中的变量相同,绿色的是js变量
<span style="white-space:pre">	</span>     		type:'post',//post请求
	 		success:function(data,status){
 			$.messager.show(data.msg);//在这个函数中可以接受action传回的数据,并作处理,例如data.msg这个msg就是action中传回的json的键名,data.msg获得值,$.messager.show()是easyui中的函数,使用的话是需要加相应的js引用,请看我的另一篇介绍
<span style="white-space:pre">	</span>		},
<span style="white-space:pre">	</span>		error:function(data,status)
	 		{
	 			$.messager.show("系统提示","操作失败","warning");
<span style="white-space:pre">	</span> 		}
	 	});

2.后台action用法
首先添加相应的.jar,这里付一下struts的相应jar下载链接,包括json,如果不知道导入哪个jar,就全都倒进去。

  

   2.1然后在struts.xml中的package中继承json-default,一定要的

 <package name="resource" namespace="/"  extends="json-default">
否则action解析不了。
然后传回数据的时候这样。

JSONObject jsonObject = JSONUtil.NewJSonObject();
		msg = "改公告已经保存";
		jsonObject.put("msg", msg);
		try {
			JSONUtil.ResponsePrint(jsonObject);
		} catch (IOException e) {
			
			e.printStackTrace();
		}
这个msg就是前台data.msg中的msg,
JSONUtil是自己写的工具类
public static JSONObject NewJSonObject()
	{
		return new JSONObject();
	}
public static void ResponsePrint(Object jsonObject) throws IOException {
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setContentType("text/html; charset=utf-8");
		response.setHeader("Pragma", "no-cache");
		response.setHeader("Cache-Control", "no-cache, must-revalidate");
		PrintWriter pWriter = response.getWriter();
		pWriter.print(jsonObject);
		pWriter.flush();
		pWriter.close();
	}
完成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值