1

Polymer 2.0 で iron-ajax を使用すると問題が発生します。私のコードはPolymer 1.0のものに基づいており、それを適応させようとしています. 次のような POST でフォームを送信します。

テンプレート:

        <div class="wrapper-btns">
            <paper-button raised class="primary" on-tap="postLogin">Log In</paper-button>
            <paper-button class="link" on-tap="postRegister">Sign Up</paper-button>
        </div>

コード:

    _setReqBody() {
        this.$.registerLoginAjax.body = this.formData;
    }

    postLogin() {
        this.$.registerLoginAjax.url = 'http://localhost:3001/sessions/create';
        this._setReqBody();
        this.$.registerLoginAjax.generateRequest();
    }

Iron-Ajax のセットアップ:

    <iron-localstorage name="user-storage" value="{{storedUser}}"></iron-localstorage>
    <app-data key="userData" data="{{storedUser}}"></app-data>

    <iron-ajax
        id="registerLoginAjax"
        method="post"
        content-type="application/json"
        handle-as="text"
        on-response="handleUserResponse"
        on-error="handleUserError"></iron-ajax>

そして、私がそうすると、次のエラーが表示されます。

POST http://localhost:3001/sessions/create 400 (不正なリクエスト)

Iron-Ajax で次の行を使用すると、次のようになります。

with-credentials="true"

CORSの問題のように見えるエラー:

XMLHttpRequest はhttp://localhost:3001/sessions/create を読み込めません。プリフライト リクエストへのレスポンスがアクセス コントロール チェックに合格しない: リクエストの資格情報モードが「include」の場合、レスポンスの「Access-Control-Allow-Origin」ヘッダーの値はワイルドカード「*」であってはなりません。したがって、オリジン「http://127.0.0.1:8081」へのアクセスは許可されていません。XMLHttpRequest によって開始されたリクエストの資格証明モードは、 withCredentials 属性によって制御されます。

私は何を間違っていますか?

4

1 に答える 1