老师请问一下跨域的方法有哪些?

来源:2-3 Vue项目首页 - iconfont的使用和代码优化(1)

白羊诗酒纵年华

2020-07-29 11:20:19

老师跨域的方法有哪些!分别怎么操作呢!我要怎么知道我是需要跨域获取还是什么!

写回答

1回答

好帮手慕久久

2020-07-29

同学你好,问题解答如下:

1. 对于前端而言,可以通过发送jsonp请求,获取跨域资源,但这个前提是,后端允许我们发送jsonp请求;对于php、java这些后端而言,可以通过配置服务器的反向代理解决跨域问题;对于node搭建的后端,可以使用cors配置跨域问题。

所以对于我们前端,只需要会发送jsonp请求即可,比如jq中,jsonp请求语法如下:

http://img.mukewang.com/climg/5f20f1e809c745ac04810267.jpg

在vue中,由于axios不支持jsonp请求,所以需要使用别的插件,比如“vue-resource”,使用依旧需要安装、依入,例如:

安装:npm i vue vue-resource --save-dev

在main.js中引入:
    import VueResource from 'vue-resource'
    Vue.use(VueResource)

使用:

    this.$http.jsonp("地址",{params:{参数}}).then( function(res){

          console.log(res.data.s)

    })

作为扩展,同学了解一下即可,以后用到了,在琢磨。

2. 如果接口需要跨域,后端人员会告诉我们的。或者我们可以通过报错信息来判断是否是跨域问题导致的,比如如下的报错信息:

http://img.mukewang.com/climg/5f20f228098f142a15870138.jpg

即,如果正常发送请求报错了,那就看报错信息中,是否有跨域相关的关键字,有的话就先问后端,是不是接口跨域了。

对于跨域问题,同学目前了解这么多即可,更多内容,需要工作中,一点点积累。

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

0

0 学习 · 10739 问题

查看课程