axios

2017-09-26  本文已影响0人  追风的云月
Paste_Image.png
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)
Paste_Image.png

该问题是因为脚手架工具默认监听的是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(){}
}
上一篇下一篇

猜你喜欢

热点阅读