Ajax使用JSON格式

JSON只是一种文本字符串,他被存储在responseText属性中,为了读取存储在responseText属性中的JSON数据,需要根据JavaScript中的eval语句。函数eval会把一个字符串当做它的参数。然后这个字符串会被当作JavaScript代码来执行。因此JSON的字符串就是由JavaScript代码构成的,所以它本身是可执行的。


使用smarty。调用userService对象方法,$userList=userService.getUsersList();使用了smarty

①json格式如下:"{属性名:属性值,属性名:属性值 }"

因为json的数据是原生态的,最简单的,因此这种数据格式很稳定,而且描述能力强。建议使用 json 格式。

②json数据的扩展,可以用来传递数组

规则:

1)映射用冒号":" 表示。名称:值。

2)并列的数据之间用“,”分隔。名称1:值1,名称2:值2

3)映射的集合(对象)用大括号“{}”表示。{名称1:值1,名称2:值2}

4)并列数据的集合(数组)用方括号“[]”表示。

[

{名称1:值1,名称2:值2},

{名称1:值1,名称2:值2}

]

var dogs=[{},{}];

若是服务器返回的是多组数据,格式应当如下:

"[ {'属性名':'属性值' , '属性名':‘属性值’} , {'属性名':'属性值' , '属性名':‘属性值’} ]";

在xmlhttprequest对象接收到 json 数据后,应当这样处理

// 转化为对象数组,每个成员的属性不必相同。

var reses=eval("("+xmlHttpRequest.responseText+")");

通过reses可以取得你希望的任何一个值。

reses[?].属性名  //下标从0开始


更为复杂的数据格式,数组成员可以有复杂的,也可以同时包含简单的:

<script language="JavaScript">
     var people ={
            "programmers":
              [
                {"firstName": "Brett", "email": "brett@newInstance.com" },
                {"firstName": "Jason", "email": "jason@servlets.com" }
              ],
            "writer":
			[
				{"writer":"宋江","age":"50"},
				{"writer":"吴用","age":"30"}
			],
			"sex":"男"
			 
};


window.alert(people.programmers[0].firstName);
window.alert(people.programmers[1].email);

window.alert(people.writer[1].writer);
window.alert(people.sex);
 </script>

json优点:

JSON与XML相似,而且更加灵巧。

JSON不需要从服务器端发送含有特定内容类型的首部信息。

缺点:

eval函数存在风险。若是对安全要求不是特别高,则可以使用这种。


当一个ajax请求到服务器,服务器可以根据需求返回,三种格式的数据,那么选哪一种?

1.若是项目经理没有特殊需求,建议使用json,性能和文件大小有优势。

2.若是数据只是简单文本,则可以直接用html。

3.若是不能确定,数据是否只给浏览器用(还有可能给其它程序使用),应该使用xml,最通用的数据格式。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值