json和jsonp

王朝学院·作者佚名  2016-05-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

json和jsonp1. 场景在拉京东城市选择的基础数据时候,遇到被服务器拒绝的情况,也就是Ajax跨域问题

2. json和jsonp说的直白一点,在我们做ajax异步的一些功能的时候,一定会或多或少的遇到两个问题,(1、数据的交换。2、跨域问题)

JSONP的最基本的原理是:动态添加一个

<script type="text/javascript">function jsonpCallback(result) { alert(result.msg); } </script><script type="text/Javascript" src=" http://crossdomain.com/jsonServerResponse?jsonp= jsonpCallback"></script>

1234567从红色的地方可以看出,两个名字要一直,不过一般采用callback然后后面加一个“?”此时jquery会自动生成一个函数名,这样可以做到发送很多请求的时候,并不会互相影响。同源策略 :即JavaScript只能访问与包含它的文档在同一域下的内容。jsonp可以跨越同源策略,当我们使用了jsonp,将会是另外一种协议通信了。JSONP的优点是:它不像xmlHttPRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要xmlhttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

3.使用方法$.getJSON(" http://跨域的dns/document!searchJSONResult.action?name1="+value1+"&jsoncallback=?", function(json){ if(json.属性名==值){ // 执行代码 }});$.ajax({ async:false, url: http://跨域的dns/document!searchJSONResult.action, type:"GET", dataType:'jsonp',

1234567891011通常情况一般是这两种使用方法,在跨域问题上,非常简单。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航