VUE axios post请求 跳转跨域问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE axios post请求 跳转跨域问题相关的知识,希望对你有一定的参考价值。

axios 发送POST请求,POST接收页面存在一个跨域的自动跳转验证,这里就会报跨域错误,请问怎么解决

参考技术A 后台解决的 参考技术B 需要服务器那边允许跨域才可以喔!

VUE axios POST 发送跨域 cros 问题

阅读目录

服务器 PHP 端代码

在请求的方法里添加如下代码:

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers:content-type");
header('Access-Control-Allow-Methods: POST,GET');

Vue 端 axios 请求

this.$axios.post('http://XXXX.com',name:'test')
.then(function (response) 
    console.log(response);
)
.catch(function (error) 
    console.log(error);
);

这样写,在请求的时候就会遇到:


axios 在发送数据时需要字符串的方式进行发送,也就是说是放在 form-data 当中的。
在实际项目中,为了方便,我引入了 qs 来帮助处理这块数据:

解决后的代码应该是:

import qs from 'qs';

this.$axios.post('域名/api/路由', qs.stringify(this.dynamicValidateForm))
.then(function (response) 
    console.log(response);
)
.catch(function (error) 
    console.log(error);
);

this.dynamicValidateForm 为一个对象。

OK,问题解决。

1.npm地址

https://www.npmjs.com/package/qs

2、概述

将url中的参数转为对象;

将对象转为url参数形式

以上是关于VUE axios post请求 跳转跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

VUE axios POST 发送跨域 cros 问题

vue axios跨域

vue 跨域请求 怎么带上cookies

使用 vue-resource 发送跨域请求

Vue之Axios跨域问题解决方案

Vue+axios+spring boot遇到的问题(跨域请求)