Vue中使用jsonp进行跨域请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue中使用jsonp进行跨域请求相关的知识,希望对你有一定的参考价值。

Vue-resouse中可以通过this.$http.jsonp的方式直接使用jsonp进行跨域请求。官方在推荐使用axios之后,axios并没有集成jsonp。但在axios的github中(https://github.com/mzabriskie/axios/blob/master/COOKBOOK.md#jsonp),可以直接安装jsonp并使用他来坐跨域请求。

<script>

var jsonp = require(‘jsonp‘);
export default {
data() {
return {
author: "微信公众号 jinkey-love",
articles: []
}
},
mounted: function() {
let that = this
jsonp(‘https://api.douban.com/v2/movie/top250?count=20‘, null, function (err, data) {
if (err) {
console.error(err.message);
} else {
that.articles=data.subjects
}
});
}
}


</script>

在vue组件中,可以这样使用,我使用的是豆瓣的一个api接口,但是需要注意的是,jsonp中的函数作用域有变化,因此,需要 在请求之前,let that = this 保存当前的this




















以上是关于Vue中使用jsonp进行跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

请求腾讯地图webServiceAPI 跨域问题

vue跨域解决方法

跨域 - jsonp轻松搞定跨域请求

在vue中使用axios实现跨域请求并且设置返回的数据的格式是json格式,不是jsonp格式

Vue2.0笔记——Ajax,JSONP跨域

vue 使用axios 跨域请求数据的问题