安装 cnpm install axios --save
axios 是一个基于 promise 的 HTTP 库,axios并没有install 方法,所以是不能使用vue.use()方法
- 解决方法
- 结合 vue-axios使用
- axios 改写为 Vue 的原型属性
- 结合 Vuex的action
1.结合 vue-axios使用
看了vue-axios的源码,它是按照vue插件的方式去写的。那么结合vue-axios,就可以去使用vue.use方法
首先在主入口文件main.js中引用:
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios,axios);
之后就可以使用了,在组件文件中的methods里去使用了:
getNewsList(){
let that=this;
Axios.get('api/getNewsList',{ //get post,根据接口决定
userId :that.deleteid.
}).then((response)=>{
if(response.status=="success"){
this.newsList=response.data.result; //赋值response.data.result
}
}).catch((err)=>{
console.log(err);
})
}
2.跨域实现
方案1:配置一个代理的服务器可以请求另一个服务器中的数据,然后把请求出来的数据返回到我们的代理服务器中,代理服务器再返回数据给我们的客户端,这样我们就可以实现跨域访问数据。
方案2:后端处理跨域问题,加个过滤器