JSONP的线程阻塞
来源:3-5 跨域调用
楚楚提
2019-08-19 16:54:43
JSONP在跨域访问的时候是不是会发生线程阻塞呢?
比如我跨域访问一个图片,网速太慢了,那我本页面的加载是否也会阻塞?
3回答
兄弟,jsonp是一种跨域通信的手段,它的原理其实很简单:首先是利用script标签的src属性来实现跨域。通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信。
img和a标签原理是相同的,都是利用标签的src属性可以跨域请求的特点,但是具体的实现不同。使用img标签不能访问服务器返回的响应内容,也就是说只能单向的发送get请求;而使用script标签实现的jsonp跨域可以将服务器响应文本以函数参数的形式返回,浏览器解析js代码时直接就执行了。a标签跨域只是针对他的download属性。不过都没听说过用img和a实现跨域的,所以了解下就行了,没必要实际操作。
楚楚提
提问者
2019-08-19
另外如果jisonp的原理是利用了src和href的天然跨域特性,
那我不访问<script>,访问img或者a,是否也可以实现跨域呢?
只要我在服务端做好对应逻辑处理就可以了
好帮手慕码
2019-08-19
同学你好!
不会的,JSONP请求如果是异步的,不会阻塞。如果是网络不好,是因为断网请求不到数据,而不是阻塞。
如果帮助到了你,欢迎采纳,祝学习愉快~
相似问题