基于$ . ajax()方法从服务器获取json数据的几种方式总结

  

  

json是一种取代xml的数据结构,和xml相比,它更小巧但描述能力却很强,网络传输数据使用流量更少,速度更快。

  

json就是一串字符串,使用下面的符号标注。

  

{键值对}:json对象

  

[{}, {}, {}]: json数组

  

" ":双引号内是属性或值

  

::冒号前为键,后为值(这个值可以是基本数据类型的值,也可以是数组或对象),所以{“年龄”:18}可以理解为是一个包含年龄为18岁的json对象,而[{“年龄”:18},{“年龄”:20}]就表示包含两个对象的json数组。也可以使用{“年龄”:[18、20]}来简化上面的json数组,这是一个拥有一个年龄数组的对象。

  

  

$ . ajax()方法中数据类型属性要求为字符串类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText【在第三部分解释】,并作为回调函数参数传递。可用的类型如下:

  

xml:返回xml文档,可用JQuery处理。

  

html:返回纯文本html信息;包含的脚本标签会在插入DOM时执行。

  

脚本:返回纯文本JavaScript代码。不会自动缓存结果。除非设置了缓存参数。注意在远程请求时(不在同一个域下),所有帖子请求都将转为得到请求。

  

json:返回json数据。

  

jsonp: jsonp格式。使用SONP形式调用函数时,例如myurl& # 63;调=& # 63;,JQuery将自动替换后一个“& # 63;”为正确的函数名,以执行回调函数。

  

  

什么是MIME类型& # 63;在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型的MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在内容类型头中。

  

例如,架设你要传送一个Microsoft Excel文件到客户端。那么这时的MIME类型就盾是“应用程序/s excel”。在大多数实际情况中,这个文件然后将传送给Execl来处理(假设我们设定Execl为处理特殊MIME类型的应用程序),在Java中,设定MIME类型的方法是通过反应对象的ContentType属性,比如常用:response.setContentType (text/html; charset=utf - 8)进行设置。

  

最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。

  

每个MIME类型由两部分组成,前面是数据的大类别,例如文本文本、图象形象等,后面定义具体的种类。

  

<强>常见的MIME类型:

  

超文本标记语言文本. html,。html文本/html

  

普通文本. txt文本/平原

  

RTF文本应用程序的. RTF/RTF

  

GIF图形GIF图像/GIF

  

JPEG图形.ipeg, jpg图像/JPEG

  

非盟声音文件.au音频/基本

  

MIDI音乐文件,中期。midi音频/midi音频/x-midi

  

RealAudio音乐文件.ra, .ram音频/x-pn-realaudio

  

MPEG文件.mpg。mpeg视频/mpeg

  

AVI文件.avi视频/x-msvideo

  

GZIP文件. gz和应用程序/x-gzip

  

焦油文件. TAR应用程序/x-tar

  

客户程序从服务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器必须使用附加信息来告诉客户程序数据的MIME类型。

  

服务器在发送真正的数据之前,就要先发送标志数据的MIME类型的信息,这个信息使用- type关键字进行定义,例如对于HTML文档,服务器将首先发送以下两行MIME标识信息,这个标识并不是真正的数据文件的一部分。

  

- type: text/html

  

注意,第二行为一个空行,这是必须的,使用这个空行的目的是将MIME信息与真正的数据内容分隔开。

  

如前面所说,在Java中,设定MIME类型的方法是通过反应对象的ContentType属性,设置的方法是使用response.setContentType (MIME)语句,response.setContentType (MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。

  

Tomcat的安装目录\ conf \ web。xml中就定义了大量MIME类型,可以参考。比如可以设置:

  

response.setContentType (" text/html;charset=utf - 8”);html

  

response.setContentType(“文本/平原;charset=utf - 8”);文本

  

application/json json数据

  

这个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明,例如:text/html; charset=utf - 8。如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设置- type实体报头。

基于$ . ajax()方法从服务器获取json数据的几种方式总结