同样是获取数据,为什么方法不一样

同样是获取数据,为什么方法不一样

在不跨域的情况下可以使用axios。跨域使用jsonp。---这句话是老师的解释

我还是不太理解为什么获取幻灯片数据就用axios,获取热门推荐数据就用jsonp

能不能换个角度解释下,不太理解


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,可以参考如下理解:

1、如下:这个接口,是慕课网的,跨域的问题我们的后台已经帮我们处理好了,我们不需要考虑跨域,直接使用就可以了。这个时候可以使用axios

http://img1.sycdn.imooc.com/climg/5e9177660925ab3e06050048.jpg

2、如下:商品数据使用的是淘宝的,就是第三方的,我们访问的时候需要跨域,所以使用了jsonp。

http://img1.sycdn.imooc.com/climg/5e9177c409a7c6ed04710044.jpg

3、简单地理解跨域就是因为JavaScript同源策略的限制,例如a.com域名下访问b.com域名下的接口,是不允许的,这就是跨域请求了。

那么跨域的问题,可以让前端人员去处理,可以让后端人员去处理 。访问慕课网的接口,我们慕课网的后端开发人员已经处理好了,所以前端不用再处理直接用就行。而淘宝的接口,这个我们是没有办法去别人家的后台处理跨域的,所以要访问第三方接口,就需要前端处理跨域问题了。而jsonp就是处理跨域问题的一种方法。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 迷失的小麦 提问者 #1
    可是我的代码是本地文件,哪里写的代码说是www.imooc.com就是没有跨域呢?
    2020-04-11 16:27:44
好帮手慕星星 2020-04-12 10:31:45

同学你好,后端人员做课程的接口的时候,不是将localhost地址和慕课网的地址设置为了同源,是在后端设置了header(Access-Control-Allow-Origin:* ”)请求头,允许所有跨域访问,所以跨域访问成功。

祝学习愉快!

好帮手慕糖 2020-04-11 18:57:32

同学你好,本地文件是指?

这里是请求的链接就是慕课网的哦,使用axios这里,如下:

http://img1.sycdn.imooc.com/climg/5e91a19409502daf06170050.jpg

我们慕课网的后端开发人员已经处理好了,不需要跨域了哦。

祝学习愉快~

  • 提问者 迷失的小麦 #1
    能否这样理解,慕课网的后端开发人员处理的是将localhost地址和慕课网的地址设置为同源,所以不需要跨域
    2020-04-11 22:13:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师