一种Javascript解释ajax返回的json的好方法

通常ajax请求返回的格式为json或者xml,如果返回的是json,则可以通过转换成javascript对象进行操作,如下:

1、ajax请求的controller实现

@RequestMapping
public void getLocations(@RequestParam String location, PrintWriter printWriter) {
	if (StringUtils.isEmpty(location)) {
		return;
	}
	List<Location> locations = locationService.getSubLocation(location);
	String json = Json.toJson(locations);
	printWriter.write(json);
	printWriter.flush();
	printWriter.close();
}

Location是包含多个属性的Bean,如pName、zName。

2、ajax处理请求与返回值

$.ajax({
	type : "GET",
	url : "/admin/location/getLocations.do",
	data : "location=" + val,
	success : function(msg) {
		msg = eval(msg);
		region = $("#region");
		region.empty();
		vHtml = "<option value=‘none‘>选择区(可选)</option>";
		$.each(msg, function(i) {
			var $bean = msg[i];
			vHtml += ‘<option value="‘ + $bean.pName + ‘"">‘
					+ $bean.zName + ‘</option>‘;
		});
		region.html(vHtml);
	}
});

msg本来是一个json字符串,使用eval函数将字符串转成了javascript对象,从而可以像对象那样获取属性值了。

  

时间: 2024-10-14 16:41:40

一种Javascript解释ajax返回的json的好方法的相关文章

Jquery JavaScript解析Ajax返回的json数据(转)

最近在用jquery的ajax方法传递接收json数据时发现一个问题,那就是返回的data数据,有时候可以直接作为json数据使用,可有时候又不行. 经过网友指出,这个问题已经有了比较明确的结论,那就是jquery ajax方法的complete方法是不会处理dataType的,所以如果你是在complete里面试图直接用json数据是不可行的,必须先通过eval. $.ajax方法如下: Java代码 $.ajax({ type: “POST”, url: ctxRoot+’FolderAct

jquery操作Ajax返回的JSON值

$.post( 'XXX.php', { col: value }, function(data) { var getData = eval( "(" + data + ")" ); //必须用括号,真蛋疼 alert( getData.xx ); } ); jquery操作Ajax返回的JSON值,布布扣,bubuko.com

javascript 解析ajax返回的xml和json格式的数据

写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心,是ajax请求和响应的信息载体,单是不同浏览器创建方式不同 (2).请求路径 (3).使用open方法绑定发送请求 (4).使用send() 方法发送请求 (5).获取服务器返回的字符串   xmlhttpRequest.responseText; (6).获取服务端返回的值,以xml对象的形式存

Ajax获取显示Json数据的方法

<span style="color:#3333FF;"> </span><span style="color:#3333FF;">public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //--构建json格式数据 //string jsonArr = "{'Id':

ajax返回值 json 乱码 解决方案

ajax的返回值一直乱码, 试过各种ContentType设定utf-8的方法,就是搞不定, 而且明明返回值是json字符串,一直出现ajax取得返回值类型为object. 最后查资料发现, SpringMVC使用 @ResponseBody注解,返加字符串不做任何处理时,有可能会出现乱码问题. 这是由于 StringHttpMessageConverter 类中,默认采用的字符集是 ISO-8859-1. public class StringHttpMessageConverter exte

调用Ajax返回500错误的解决方法

看代码: 1 public ActionResult UserLogin(LogOnModel model) 2 { 3 #region 验证码验证 4 5 #endregion 6 7 OperationResult result= _identity.ValidateUser(model.UserName, EncryptAndDecrypte.EncryptString(model.Password)); 8 9 10 if (result.ResultType==OperationRes

ajax返回json数据

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Ajax json test</title> <script language="

JQuery处理json与ajax返回JSON实例[转]

json数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]. 很多情况下是对象数组,那就是这样:  代码如下

调用AJAX返回JSON、XML数据类型

1.调用AJAX返回JSON数据 用下拉列表显示Nation表民族名称 主页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he