HTTPS経由でajaxGETリクエストを送信するにはどうすればよいですか?
$.getこれをスローします:
XMLHttpRequest cannot load https://********. Origin null is not allowed by Access-Control-Allow-Origin.
これを機能させるための別の方法または回避策はありますか?
ChromeでURLに移動すると、応答を得ることができます。ajaxリクエストで機能しない理由はわかりません。
HTTPS経由でajaxGETリクエストを送信するにはどうすればよいですか?
$.getこれをスローします:
XMLHttpRequest cannot load https://********. Origin null is not allowed by Access-Control-Allow-Origin.
これを機能させるための別の方法または回避策はありますか?
ChromeでURLに移動すると、応答を得ることができます。ajaxリクエストで機能しない理由はわかりません。
同一生成元ポリシーのためにhttps現在アクセスしている場合、ページに対してAJAXリクエストを行うことはできません。http
AJAXリクエストが機能するには、ホスト、ポート、およびスキーム(プロトコル)が同じである必要があります。
元のページが同じホストとスキーム上にあることを確認するか、ターゲットドメインにCORS(クロスオリジンリソースシェアリング)を実装して、この特定のリクエストを許可することができます。
[jQueryv。3.3.1]
すべてのリソースとトラフィックがHTTPS経由であるWebアプリケーションがあります。
それでも、 (Chrome出力)が原因で$.ajax()、または特定$.getの、などを送信できないことがわかりました。$.post
次のコンテンツセキュリティポリシーディレクティブに違反しているため、' http:// mywebapp / api / mycall 'への接続を拒否しました:"connect-src'self'"。
これは、HTTPSページがHTTPを介してAJAXリクエストを作成したためであり、HTTPSを強制する方法が見つかりませんでした。
クレイジーなのはそれを修正したことです。呼び出しは、「「 http:// mywebapp / api / mycall$.get('/api/mycall/') 」への接続を拒否しました」という上記のエラーを出力します。これにより、コード内の実際の呼び出しで終了するスラッシュが省略されます。したがって、エラーからは、スラッシュがなかったかのように見えます。
私は複数の呼び出しを行いましたが、呼び出されているURLに終了スラッシュがあると、すべての呼び出しが失敗します。同じものはすべて1つなしで成功します。
したがって$.ajax({ url: '/api/mycall'})、呼び出しは機能しますが、 $.ajax({ url: '/api/mycall/'})機能しません。