web-dev-qa-db-ja.com

Axios:2つのリクエストを取得オプション&POST

React ReduxとReactを使用してビルドされたアプリがあり、データを投稿しようとしています。 m 2つのリクエストを取得OPTIONSPOST

おそらく、API URLがreactと同じサーバー上にないためです。

役職: - enter image description here

オプション: enter image description here

コードは次のとおりです。

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);
            })
    }
}
11
Liam

AJAXはプリフライトされています。詳細についてはこちらをご覧ください。 こちら 。この振る舞いとそれがあなたのために働いているなら、あなたはそれをそのままにすることができます。

あなたがそれを取り除くことを主張する場合、あなたが取り組むことができるいくつかの方法があります:

  1. サーバーでAccess-Control-Allow-Origin: *を設定して、CORSを無効にすることができます。

  2. CORSリクエストをシンプルなものにします。 Content-Typeヘッダーをapplication/x-www-form-urlencodedまたはmultipart/form-dataまたはtext/plainに変更する必要があります。いいえapplication/json

OPTIONSリクエストがあなたをブロックしていない場合は、そのままにしておきます。

16
Yangshun Tay