axios

作者: 追风的云月 | 来源:发表于2017-09-26 16:23 被阅读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(){}
    }
    

    相关文章

      网友评论

          本文标题:axios

          本文链接:https://www.haomeiwen.com/subject/uaosextx.html