私はionic framework and angularjsを使用しています。ログを表示するためにchromeを使用していますが、ここでログインページを実行しています。ユーザーが入力したデータを投稿しようとしています提供していますが、このようなエラーが発生しています。
OPTIONS http://aflaree.com/qrcodeservice/Service1.svc/login
これは次のエラーXMLHttpRequest cannot load http://aflaree.com/qrcodeservice/Service1.svc/login Response for preflight has invalid HTTP status code 405
いくつかのブログを読んだ後、私はそれを試したajaxリクエストを許可するCORS拡張があると考えていますが、この2つのエラーが表示される理由を見つけることができません。ここに私のコードがあります
https://plnkr.co/edit/Dz0aFsLqoQcnCxht00z3?p=preview
私のコードはデバイスで正常に動作しますが、chromeでエラーが発生しています
CORSは、実際にAJAX呼び出しでサーバーに2つの要求を行う必要があることを指定します(カスタムヘッダーの送信など、特定の条件が適用される場合)。
最初のリクエスト(OPTIONS
メソッドを持つリクエスト)はプリフライトと呼ばれ、完全なリクエストをサーバーに送信しても安全かどうかを確認するために使用されます。サーバーからの応答には、有効なAccess-Control-Allow-Origin
クライアントのURLを含むヘッダーまたは*
。
サーバー(クライアントではなく)は、CORSをサポートする必要があるサーバーです。 .Netを使用しているようですので、IISの構成方法について here をご覧ください。
CORSの詳細については、こちらをご覧ください こちら 。
クロムを使用している場合は、「Allow-Control-Allow-Origin」プラグインを入手してください。これにより、すべてのCORSエラーを無視できます。
ionicにはCordovaプラグイン "cordova-plugin-whitelist"があるため、モバイルで動作します。 "config.xml"にはデフォルトで行が表示されます。つまり、アプリはURL。
残念ながら、ブラウザでテストする場合、cordovaプラグインはアクティブではありません。
IOSデバイスの場合は、使用されているプロトコルも確認してください。 HTTPの代わりにHTTPSを使用すると、問題が解決しました。