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 属性によって制御されます。
私は何を間違っていますか?