この記事では、JAVA バックエンドを呼び出す Ajax クロスドメイン (jsonp) の詳細な説明を主に紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう
1. JSONP の定義
JSONP は、英語の JSON with Padding の略称であり、非公式のプロトコルです。これにより、スクリプト タグをサーバー側で生成してクライアントに返すことができ、javascript コールバックの形式でサイトにアクセスできるようになります。 JSONP は、サーバーから返された応答をページに追加して特定の機能を実装するスクリプト タグ インジェクションです。
2. JSONPの起源
JSONPの起源を説明するために、まずブラウザの「SOP: Same Origin Policy」について話しましょう。 つまり、ブラウザは、スクリプト プログラムが同じプロトコル、同じドメイン名、同じポートのスクリプトとのみ対話するように制限します。これには、変数の共有や受け渡しなどが含まれます。 Cookie の配信も同じポリシーに従います。これにより、複数のサーバーが関与するアプリケーションを統合するときに問題が発生します。クロスドメイン アクセスの問題により、サイト A の Ajax コードがサイト B のデータにアクセスできなくなります。
クロスドメインアクセスを解決するにはどうすればよいですか?次に、ブラウザの機能を利用する必要があります。ブラウザでは、ページ内のスクリプトがドメインを越えてデータを読み取ることは許可されていませんが、HTML が画像、CSS、スクリプトなどのクロスドメイン リソースを参照することは許可されています。スクリプト プログラムへの参照は特別であり、ブラウザによって解析された後は、ローカルのスクリプト プログラムと同じであり、すぐに解釈して実行できます。たとえば、サイト B の js ファイルには、alert ("This is Victor!"); という単純なプロンプト ボックスがあります。サイト A でこの js を参照すると、サイト B のアプリケーションでこのスクリプトが実行され、警告メッセージが表示されます。オフサイト スクリプトの参照はスクリプト タグを通じて実装され、スクリプト プログラムは DOM を通じて HTML ページのすべてのタグ (スクリプト タグの動的作成を含む) を制御できるため、これはオフサイト プログラムを呼び出すことで実現できます。地元のリソースに。さらに、