什么是jsonp
-
JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互的一种解决方法
-
它的基本思想是,网页通过添加一个
<script>
元素,向服务器请求JSON数据,这种做法不受同源政策限制;服务器收到请求后,将数据放在一个指定名字的回调函数里传回来,这里要注意script标签它只接收js语法返回的数据格式,否则报错!
关于使用jsonp(这里的页面我是用live server打开的)
普通的jsonp请求方式
-
这种方法只能发起一次请求,我们可以在按钮的点击事件中动态创建script标签发起请求
-
这里在button的点击事件中动态创建script标签发起jsonp请求,这里有个问题就是,在需要调用的函数的最后要删除页面中的最后一个script标签,避免造成script标签的积累
使用jquery中的ajax发起jsonp请求
从上图中可以看到jquery的ajax发起jsonp的原理也是动态创建script标签,然后删除script标签的