标题 | json与jsonp知识小结(推荐) |
范文 | 这篇文章主要介绍了json与jsonp知识小结(推荐)的相关资料,需要的朋友可以参考下 json 1. json 的值可以是下面这些类型: ① 数字(整数或浮点数),比如123,1.23 ② 字符串(在双引号中) ③ 逻辑值(true 或 false) ④ 数组(在方括号中) ⑤ 对象(在花括号中) ⑥ null 2. json解析方法 ① eval('(' + jsondata + ')' ); 使用时永远是不安全的,代码注入 ② JSON.parse(jsondata); JSONLint json:字符串校验工具 3. jQuery 实现ajax jQuery.ajax([settings]) type :类型 url :发送请求的地址 data :是一个对象,连同请求发送到服务器的数据 dataType :预期服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,一般我们采用json 格式,可以设置为”json” success :是一个方法,请求成功后的的回调函数,传入返回后的数据,以及包含成功代码的字符串 error :是一个方法,请求失败时调用此函数。传入 XMLHttpRequest 对象 jsonp 跨域 一个域名地址的组成: http://www .abc.com :8080 / scripts/jquery.js 协议://子域名. 主域名 :端口号 / 请求资源地址 当协议、子域名、主域名、端口号中任意一个不行同时,都算作不同域 不同域之间相互请求资源,就算作“跨域” javascript 出于安全方面的考虑,不允许跨域调用其他页面的对象。 什么是跨域呢? 简单的解释就是因为javascript同源策略的限制,a.com 域名下的js无法操作b.com 或是 c.a.com域名下的对象 处理跨域方法: —— 代理(属于后台技术)比如在北京的web服务器的后台来调用上海服务器的服务,看然后再把响应结果返回给前端,这样前端调用北京同域名的服务器就和调用上海的服务效果相同了。 —— JSONP a域名去声明,b域名去调用 注意:JSONP只能用于GET 请求,不支持POST请求(局限性) —— XHR2 HTML5 提供的XMLHttpRequest Level2 已经实现了跨域访问以及其他的一些新功能 IE10 以下的版本都不支持 在服务端做一些小小的改造即可: header("Access-Control-Allow-Origin:"); 表示所有的服务器都可以访问,也可以替换成特定的域名,比如说:服务器在上海,*换成北京服务器的域名,这样只有从北京的域名才可以访问 header("Access-Control-Allow-Methods:POST,GET"); 下面说下jsonp 的优缺点。 同源策略 :即JavaScript只能访问与包含它的文档在同一域下的内容。jsonp可以跨越同源策略,当我们使用了jsonp,将会是另外一种协议通信了。 JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。 JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。 以上所述是小编给大家介绍的json与jsonp知识小结(推荐),希望对大家有所帮助 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。