Axios:收到两个请求 OPTIONS & POST
Axios: getting two requests OPTIONS & POST
我正在尝试 post 数据。一切正常,但我不知道为什么我收到两个请求 OPTIONS
& POST
POST:
选项:
代码如下:
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);
})
}
}
Non-simple 通过 AJAX 的 CORS 请求是 pre-flighted。阅读更多相关信息 here。这是一种浏览器行为,与 axios 无关。这种行为本身并没有什么错,如果它对你有用,你可以离开它。
如果你坚持要摆脱它,有几种方法可以解决:
您可以在服务器上设置 Access-Control-Allow-Origin: *
以禁用 CORS。
让您的 CORS 请求变得简单。您必须将 Content-Type
header 更改为 application/x-www-form-urlencoded
或 multipart/form-data
或 text/plain
。没有application/json
.
如果 OPTIONS
请求没有阻止您,我会说就让它保持原样。
我正在尝试 post 数据。一切正常,但我不知道为什么我收到两个请求 OPTIONS
& POST
POST:
选项:
代码如下:
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);
})
}
}
Non-simple 通过 AJAX 的 CORS 请求是 pre-flighted。阅读更多相关信息 here。这是一种浏览器行为,与 axios 无关。这种行为本身并没有什么错,如果它对你有用,你可以离开它。
如果你坚持要摆脱它,有几种方法可以解决:
您可以在服务器上设置
Access-Control-Allow-Origin: *
以禁用 CORS。让您的 CORS 请求变得简单。您必须将
Content-Type
header 更改为application/x-www-form-urlencoded
或multipart/form-data
或text/plain
。没有application/json
.
如果 OPTIONS
请求没有阻止您,我会说就让它保持原样。