我们知道JSONP是利用Javascript可以跨域的特性从服务端请求数据的,即在跨域的情况下才有必要使用JSONP来发送请求。我们这里是使用 vue-resource提供的jsonp请求数据。
语法是:
this.$http.jsonp(
'http://example.com/books',
//参数部分,将会拼接在url后面
{
cat:1
}
).then(function(response){
//this指向当前组件实例
console.log(this)
}).catch(function(response){
//出错处理
console.log(response)
})
这是官网给的 然后实际运用起来还是很多坑 最终在哥不懈努力下写了一个完整的 vue-resource jsonp请求数据 jsonp主要就是解决跨域的问题
this.$http.jsonp('接口',
//这里是一个对象里面的params是传递的参数会直接拼接在url地址后面
官网给的是不加params结果访问不到数据
{
params:{
wd:name
//这里面的wd就是参数 后面对应值
},
jsonp:'cb'
设置回调函数的参数的一个名字,默认是话是callback, 可简写成 cb
}).then((res)=>{
//console.log(res)
//console.log(res.body.s)
this.list=res.body.s;
})
初学vue在之前请求数据时使用的是axios但是对于跨域问题的解决个人觉得使用 vue-resource jsonp比较简单 但是初次使用遇到的坑还是比较多 但是解决了就是进步