this.$axios({})
axios跨域问题解决
vue-cli的config里的index.js文件里有一个参数叫proxyTable
proxyTable: {
'/api':{
target:'http://219.138.145.116:9872/WXOA/',
changeOrigin:true,
pathRewrite:{
'/api':''
}
},
'/ms':{
target: 'http://219.138.145.116:9872/WXOA/',
changeOrigin: true
}
},
页面调用接口的时候 这样使用
this.$axios.get(
'/api/sy_login/login.do?',
param //param为参数
)
.then(function (response) {
})
.catch(function (error) {
});
这样当我们访问
localhost:8080/api/movie
的时候 其实我们访问的是
http://api.douban.com/v2/movie
axiosPOST提交
这样提交param后台接收不到参数
this.$axios.get(
'/api/sy_login/login.do?',
param //param为参数
)
.then(function (response) {
})
.catch(function (error) {
});
需要引入qs
qs.stringify(param)
该问题是因为脚手架工具默认监听的是8080端口,此时是8080端口被占用情况导致的。
找出8080端口占用进程然后杀死
执行sudo lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 79 root 6u IPv6 0x16935b8002e27567 0t0 TCP *:http-alt (LISTEN)
执行sudo kill -9 79
再执行sudo npm run dev,然后搭建成功.
引入全局函数
import http from './util/http';
Vue.prototype.$http = http;
export default {
get(){},
post(){}
}