如何解决在axios上使用uri的问题
我目前正在使用api rest,我通过URI传递控制器参数,版本和操作。但是,当我使用超过19个字符的URI执行请求时,会出现此CORS错误:
CORS策略已阻止从来源“ http:// localhost:3000”访问“ http:// my-api-host / toll / vehicle / v1 / list”上的XMLHttpRequest:对预检请求的响应没有t通过访问控制检查:它没有HTTP正常状态。
在身份验证中,即使具有超过19个字符的URI,该请求也可以使用。但是,任何其他具有不同URI且长度超过19个字符的请求都会出现此错误。我使用我的应用程序的API,请求正常运行。
我在Reactjs中使用axios。 该api已经配置为接受我正在使用的内容类型(应用程序/ json),并且还已经接受来自不同来源的请求。
我的请求代码:
request(uri,params = {}){
return new Promise((resolve,reject) => {
axios
.post('http://my-api-host' + uri,JSON.stringify(params),{
headers: {
'Content-Type': 'application/json'
}
})
.then(response => {
if (response.data.success) {
resolve(response.data);
} else {
reject(response.data);
}
});
});
};
有人遇到过这种情况并且可以提供帮助吗?预先感谢
解决方法
您是否改用Fetch?
async function postData(url = '',params = {}) {
// Default options are marked with *
const response = await fetch(url,{
method: 'POST',// *GET,POST,PUT,DELETE,etc.
mode: 'cors',// no-cors,*cors,same-origin
headers: {
'Content-Type': 'application/json'
},qs: JSON.stringify(params) // query string data
});
return response.json(); // parses JSON response into native JavaScript objects
}
postData('http://my-api-host',params)
.then(data => {
console.log(data);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。