ajax 与 response 对应的关系 设置
发布时间:2020-12-16 02:10:37 所属栏目:百科 来源:网络整理
导读:纠结于ajax开发中 response的contentType 问题 博客分类: web前端 Ajax json JavaScript jQuery 应用服务器 ajax开发中,常遇到下面的几种情况: 1 服务端需要返回一段 普通文本 给客户端 2 服务端需要返回一段 HTML代码 给客户端 3 服务端需要返回一段 XML代
纠结于ajax开发中 response的contentType 问题
Ajax
json
JavaScript
jQuery
应用服务器
ajax开发中,常遇到下面的几种情况:
1 服务端需要返回一段 普通文本给客户端 2 服务端需要返回一段 HTML代码给客户端 3 服务端需要返回一段 XML代码给客户端 4 服务端需要返回一段 javascript代码给客户端 5 服务端需要返回一段 json串给客户端 ================================ 对于每一种返回类型 规范的做法是要在服务端指定 response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候)
以上三个可以说是毫无争议的,也没什么值得讨论的, 但是另外两种情况 就要注意一下了. javascript 的 contentType 按最标准的写法 应该是 application/javascript. 而常用的 text/javascript 已经被 rfc定义为废弃的. (参见 rfc4329) 但是 在这里暂时不建议使用 application/javascript . 大家还是继续使用 text/javascript 为好. 因为很多老旧浏览器并不支持 application/javascript . 而所有浏览器都支持 text/javascript. 在标准和广泛的兼容性之间 还是暂且选择后者吧. json 的 contentType 常见写法有 : text/json & text/javascript . 但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义. 对于json的contentType,rfc里定义的标准写法是 :application/json. (参见 rfc4627) 在这里毫无疑问 我们应该选择标准写法的 application/json. ====================== 也许有人会问,设置这些有什么用呢? 以前一些程序没有设置这些东西 运行的也很好啊. 首先必须承认的一点是,这些信息 在目前绝大多数情况下 确实不设置也可以. 但是这种做法是不规范不标准的. 未来对于复杂的ajax应用,不规范的行为是会带来很大的隐患. 举个例子. 对于同样的内容 可以有下面的3种形式 html形式
对于 html 形式,客户端得到数据后,往往是对其做dom操作. javascript形式
对于 javascript形式,往往是对其做eval操作: eval(responseText); json形式
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |