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,最通用的数据格式。

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...