原文出处不详,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清单:
常用的:
@H_404_42@
- text/plain
- text/HTML
- text/xml
- test/javascript
- application/json
- image/GIF
- image/JPEG