在axios上使用uri的问题



我目前使用一个api rest,通过URI传递控制器参数、版本和操作。然而,当我使用超过19个字符的URI执行请求时,它会给出以下CORS错误:

访问位于"的XMLHttpRequesthttp://my-api-host/toll/vehicle/v1/list'来自原点'http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:它没有HTTP正常状态。

在身份验证中,即使URI超过19个字符,请求也能工作。然而,任何其他具有不同URI且超过19个字符的请求都会出现相同的错误。我使用我的应用程序的API,请求正常工作。

我在Reactjs中使用axios。api已经配置为接受我正在使用的内容类型(application/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);
});

最新更新