码迷,mamicode.com
首页 > 数据库 > 详细

解决Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight 跨域问题

时间:2020-04-29 15:00:13      阅读:313      评论:0      收藏:0      [点我收藏+]

标签:The   for   script   错误   ret   http   UNC   func   fun   

跨域错误
用axios.post发送请求的时候出现以下错误

 技术图片

解决方法
1 设置Content-Type类型


axios.post(‘url‘,{
data
},{
headers: {‘Content-Type‘: ‘application/x-www-form-urlencoded‘} //加上这个
})


2 改写axios


在<script></script>里增加以下代码

var HTTP = axios.create({
baseURL:‘http://localhost:8081/‘, //这是基础url
headers: {‘Content-Type‘: ‘application/x-www-form-urlencoded‘},
transformRequest: [function (data) {
// Do whatever you want to transform the data
let ret = ‘‘
for (let it in data) {
ret += encodeURIComponent(it) + ‘=‘ + encodeURIComponent(data[it]) + ‘&‘
}
return ret
}]
});
使用:axios.post改为HTTP.post,例如

HTTP.post(‘admin/user/login.action‘,{
name:‘test‘,password:111
})
.then(function(response){
console.log(response.data);
});


备注:这个方式还可以解决用axios发送请求,数据带不过去的问题

解决Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight 跨域问题

标签:The   for   script   错误   ret   http   UNC   func   fun   

原文地址:https://www.cnblogs.com/EarlyBridVic/p/12801788.html

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