微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax使用Action中返回的Json数据的简单实例(一)

实现原理:从Action中返回JSON格式的字符串,在ajax中获取到data,并将其转换成js的JSON数据,然后遍历

注:亦可在Java代码就转换为JSON格式,使用JSONArrayjsonArray=JSONArray.fromObject(string),写write(jsonArray.toString());这时在JS里就不需要使用eval()转换直接遍历

Struts.xml

<action name="myAjaxAction" class="myAction" method="myAjaxAction"><interceptor-ref name="mystack" /></action>
		


Action方法

public void myAjaxAction(){
		try{
			HttpServletResponse responses = ServletActionContext.getResponse();
			responses.setCharacterEncoding("utf-8");
			PrintWriter writer = responses.getWriter();
			//设置JSON数据,\"是转义符,实际内容为:[{name:"张三",age:12},{name:"李四",age:11},{name:"王五",age:13},{name:"小六",age:14}];
			String string="[{name:\"张三\",{name:\"李四\",{name:\"王五\",{name:\"小六\",age:14}]";
			writer.write(string);
			writer.flush();
			writer.close();
		}catch (Exception e) {
			// Todo: handle exception
		}
	}


HTML

<input type="button" value="测试JSON" onclick="ajaxJson()"/> 


JS代码

function ajaxJson(){
	$.ajax({
        type:"post",url:"myAjaxAction.action",async:true,success:function(data) {
        	var obj=eval("("+data+")");//将数据转换成json类型
			for(var i in obj){//遍历Json数据 
			    alert("姓名:"+obj[i].name+" 年龄:"+obj[i].age );  
			}
        },error:function(e) {
          alert("验证失败!");
        }
      });
}

原文地址:https://www.jb51.cc/ajax/165999.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐