陈斌彬的技术博客

Stay foolish,stay hungry

response的contentType 几种类型

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

常遇到下面的几种情况:

  1. 服务端需要返回一段普通文本给客户端,Content-Type="text/plain"
  2. 服务端需要返回一段 HTML 代码给客户端 ,Content-Type="text/html"
  3. 服务端需要返回一段 XML 代码给客户端 ,Content-Type="text/xml"
  4. 服务端需要返回一段 javascript 代码给客户端
  5. 服务端需要返回一段 json 串给客户端

我们主要讨论返回 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 在有些时候客户端处理起来会有歧义. 对于 json 的 contentType , rfc里定义的标准写法是 :application/json.

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