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 无关。这种行为本身并没有什么错,如果它对你有用,你可以离开它。

如果你坚持要摆脱它,有几种方法可以解决:

  1. 您可以在服务器上设置 Access-Control-Allow-Origin: * 以禁用 CORS。

  2. 让您的 CORS 请求变得简单。您必须将 Content-Type header 更改为 application/x-www-form-urlencodedmultipart/form-datatext/plain。没有application/json.

如果 OPTIONS 请求没有阻止您,我会说就让它保持原样。