response的contentType 几种类型

ajax开发中在请求server端的响应时, 对于每一种返回类型 规范的做法是要在服务端指定response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候) 。

常遇到以下的几种情况:

1、 服务端须要返回一段普通文本给client,Content-Type="text/plain"

2 、服务端须要返回一段HTML代码给client ,Content-Type="text/html"

3 、服务端须要返回一段XML代码给client ,Content-Type="text/xml"

4 、服务端须要返回一段javascript代码给client

5 、服务端须要返回一段json串给client

我们主要讨论返回javascript代码和Json对象的情况。

javascript 的 contentType 按最标准的写法 应该是 application/javascript。而经常使用的 text/javascript 已经被 rfc定义为废弃的。

可是 在这里临时不建议使用 application/javascript . 大家还是继续使用 text/javascript 为好. 由于非常多老旧浏览器并不支持 application/javascript . 而全部浏览器都支持text/javascript. 在标准和广泛的兼容性之间 还是暂且选择后者吧。

json 的 contentType 常见写法有 : text/json & text/javascript .

可是 这个 text/json 事实上是根本不存在的, 而 text/javascript 在有些时候client处理起来会有歧义. 对于json的contentType , rfc里定义的标准写法是 :application/json.

在这里毫无疑问 我们应该选择标准写法的 application/Json。

@的使用

基本使用

  • "@123456"表示输出123456到页面
  • "@中文english"表示输出"中文english"到页面

规范化contentType

  • "@json:xxxx"、"@applicaiton/x-json:xxxx"表示输出content-type为application/x-json的xxx字符串到client
  • "@xml:xxxx"、"@application/xml:xxxx" 表示输出content-type为application/xml的xxxx字符串到client
  • "@plain:xxxx"、"@text:xxxxx"、"@text/plain:xxxxx" 表示输出content-type为text/plain的字符串到client
  • "@xxxxx"、"@html:xxxx"、"@text/html:xxxxx" 表示输出content-type为text/html的字符串到client

我们支持下面Content-Type:json、xml、html、plain、text、全部以text/開始的,比方text/html、text/plain、text/javascript等;全部以application/开头的,比方applicaton/x-json等,其它的概不支持。

能够加;charset=UTF-8等修饰

  • "@json:xxxx;charset=UTF-8"、"@applicaiton/x-json:xxxx;charset=UTF-8"表示输出content-type为application/x-json;charset=UTF-8的xxx字符串到client

技巧

  • "@text/plain:json:xxxxx"、"@plain:json:xxxxx"、"@text:json:xxxxx"表示输出content-type为text/plain的"json:xxxxx"到client
上一篇:Oracle函数之chr


下一篇:史无前例的KDD 2014大会记