我有一个使用Redux和React构建的React应用程序我尝试发布数据。一切正常,但我不知道为什么我收到两个请求OPTIONS
& POST
也许是因为API URL与反应不在同一台服务器上。
以下是代码:
const url = 'http://rest.learncode.academy/api/johnbob/myusers';
export function postUsers(username, password) {
let users = {
username,
password,
};
return{
type: "USERS_POST",
payload: axios({
method:'post',
url:url,
data: users,
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
}
}
答案 0 :(得分:8)
通过AJAX的非简单CORS请求已预先通过。阅读更多相关信息here。这是一种浏览器行为,并没有特定于axios。这种行为没有任何内在错误,如果它对你有用,你可以离开它。
如果你坚持要摆脱它,有几种方法可以解决:
您可以在服务器上设置Access-Control-Allow-Origin: *
以禁用CORS。
使您的CORS请求变得简单。您必须将Content-Type
标题更改为application/x-www-form-urlencoded
或multipart/form-data
或text/plain
。否application/json
。
如果OPTIONS
请求没有阻止你,我会说保持原样。