Ajax应用常见的HTTP ContentType设置

来源:互联网 发布:java 在线md5加密解密 编辑:程序博客网 时间:2024/05/18 02:12

原文出处不详,anyway,感谢一下作者先。

 

 ajax开发中, 常遇到下面的几种情况:

1 服务端需要返回一段普通文本给客户端
2 服务端需要返回一段HTML代码给客户端
3 服务端需要返回一段XML代码给客户端
4 服务端需要返回一段javascript代码给客户端
5 服务端需要返回一段json串给客户端

 

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

代码
    普通文本 : text/plain
    HTML代码 : text/html
    XML代码 : text/xml
以上三个可以说是毫无争议的, 但是另外两种情况 就要注意一下了.
javascript 的 contentType 按最标准的写法 应该是 application/javascript.
而常用的 text/javascript 已经被 rfc定义为废弃的.
但是,在这里暂时不建议使用 application/javascript
因为很多老旧浏览器并不支持 application/javascript
而所有浏览器都支持 text/javascript.
在标准和广泛的兼容性之间 还是暂且选择后者吧.


json 的 contentType 常见写法有: text/json & text/javascript .
但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义.
对于json的contentType , rfc里定义的标准写法是 :application/json.

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

 

最后,附一下ContentType清单:

常用的:

清单: