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

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

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

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

相关推荐