时间:2021-05-26
JavaScript初学,一点自己的理解,有不当之处请大家指正~
JSONP:
本地html文件要获取xxx网站(跨域)数据时使用的方法。
跨域问题:
外部服务器的数据只能用外部服务器中的js访问,本地js无法用XMLHttpRequest()访问。
外部服务器中的Web服务提供JSON数据,比如在http://gumball.wickedlysmart.com/中,数据包含在函数updateSales中作为参数,现在要在本地html中访问外部服务器中的JSON数据该怎么办呢?
1, 查看Web服务文档,明确服务实际使用的参数名(本例只有一个参数即一个对象数组);
2, 在url中指定一个回调函数,http://gumball.wickedlysmart.com/?callback=updateSales,用来指定Web服务中访问JSON数据的函数名;
3, 在本地js文件中使用刚才定义的函数名创建函数updateSales(对象),编写处理得到外部JSON数据的方法;
4, 在html文件中的<body>标签下使用<script>标签链接到外部Web服务,url为2中的那个路径。
总结:
JSONP目的在于提供给本地html一个函数接口(本地html可通过在url后方加入?callback=functionName的方法指定函数名),为了确保数据访问的安全,服务器将安全的数据放在回调函数的参数中,函数内部的参数就是服务器提供给本地的数据,至于怎么使用这些数据就要在本地的js中定义这个callback函数了。
注意:本地使用JSONP请求访问Web服务,可能会获取不安全的Js代码,所以要确保信任这个Web服务。
JSONP与XMLHttpRequest:
XMLHttpRequest用于开发内部Web服务,内部访问内部,同域访问会更加简便。
访问外部数据时(跨域访问)就要使用JSONP。
以上所述就是本文的全部内容了,希望大家能够喜欢,能够对大家学习jsonp有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
我们现在/jsonp.php",dataType:"jsonp",jsonp:"callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名
JSONP调用示例代码:复制代码代码如下:varoriginImgSrc='cnbogs-logo.gif';$.jsonp({url:'',data:{img
什么是jsonp?说到jsonp,你可能最先想到JSON;它还真和JSON有关系;JSONP(JSONwithPadding)是JSON的一种“使用模式”,可用
一、Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等CORS与JSONP相比1、JSONP只能实现GET请求,而CORS支持所有
复制代码代码如下:$.ajax({async:false,url:'',//跨域URLtype:'GET',dataType:'jsonp',jsonp:'js