码迷,mamicode.com
首页 > 移动开发 > 详细

axios请求

时间:2019-04-15 16:12:16      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:ber   问题   eth   type   err   跨域问题   需要   全局   local   

get请求:

      this.$axios.get("http://www.wwtliu.com/sxtstu/news/juhenews.php",{

        params:{//是否添加.get都是使用get方式发送请求,axios的默认方式

          type:"junshi",

          count:30

        }

      })

      .then(res => {

        this.newsData = res.data;

      })

      .catch(error => {})

 

post请求:

      form-data:?name=iwen&age=20

      x-www-form-urlencoded:{name:"iwen",age:20}

      注意:axios接受的post请求参数的格式是form-data格式

      this.$axios.post("http://www.wwtliu.com/sxtstu/blueberrypai/login.php",

             qs.stringify({

                    user_id:"iwen@qq.com",

                    password:"iwen123",

                    verification_code:"crfvw"

             }))

  .then(res => {})

  .catch(error => {})

 

全局axios默认值

axios.defaults.baseURL = ‘https://api.example.com‘;

axios.defaults.headers.common[‘Authorization‘] = AUTH_TOKEN;

axios.defaults.headers.post[‘Content-Type‘] = ‘application/x-www-form-urlencoded‘;

全局拦截器

axios.interceptors.request.use(function (config) {

    //在发送请求之前的处理

    if (config.method == "post") {//处理post请求

        config.data = qs.stringify(config.data);

    }

    return config;

}, function (error) {

    //对请求错误处理

    return Promise.reject(error);

});

//响应拦截器

axios.interceptors.response.use(function (response) {

    //对响应数据处理

    return response;

}, function (error) {

    //对响应错误处理

    return Promise.reject(error);

});

 解决跨域问题

//解决跨域问题(与config中index.js一起配置)

//main.js添加代码

Vue.prototype.HOST = ‘/api‘

//index.js文件中在dev:{}中添加

proxyTable: {

    "/api": {

        target: "http://localhost:8080",

        changeOrigin: true,

        pathRewrite: {

            ‘^/api‘: ‘‘

        }

    }

},

//使用时

var url = this.HOST + "/illness/GetHospitalList";

axios.get(url, {}).then(response => {}).catch(error=>{});

//开发时建议不在前端进行跨域处理,因为在打包合并时需要处理的请求url过多,

//建议使用axios默认配置中的默认url进行配置,打包合并时只需要修改一处即可

//跨域与默认配置不可用时使用,使用跨域时需要注释掉默认配置

vue-resource使用

this.$http.get(url).then(response => {

   console.log(response.body);

}).catch(error => {

   console.log(error);

})

axios请求

标签:ber   问题   eth   type   err   跨域问题   需要   全局   local   

原文地址:https://www.cnblogs.com/rangewr/p/10710873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!