84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
タイトルのように、jquery でカプセル化された ajax メソッドが get メソッドでデータを送信するために jsonp を使用できるのに、ドメイン間でデータを送信するために post メソッドを直接使用できるのはなぜですか? 根本的な原因は何ですか?
jquery 独自の関数はサポートされていませんが、jquery に基づいてクロスドメイン投稿を実装できます。
jquery 自体は jsonp クロスドメインのみをサポートしますが、jsonp の原則により get のみのサポートに制限されます。
ネイティブ jquery クロスドメインを実装する場合は、リクエスト アドレスの先頭に Access-Control-Allow-Origin を追加し、値を API を呼び出すドメイン名 (または *) に設定します
クロスドメインは一般に 2 つのタイプに分類されます:
jsonp クロスドメイン。 jsonp はもともと get file メソッドを使用してクロスドメイン チェックをバイパスするため、post をサポートしていません。 get を使用してポストリクエストをシミュレートするサードパーティライブラリもあります。
COR クロスドメイン。 COR クロスドメインでは、サーバー側の Access-Control-Allow-Origin 応答を変更する必要があります。 通常、クライアントは 2 つの post リクエストを送信します。1 回目はオプションのタイプで、サーバーが許可を返した後、2 回目はデータを含む実際のリクエストを送信します。 回答者の条件が許せば、投稿を直接サポートできる 2 番目のクロスドメイン方法を使用してみてください。
サーバー構成を変更できない場合、回答者はサードパーティのライブラリを探して、jsonp を使用して投稿リクエストをシミュレートできるかどうかを確認できます。
jquery がサポートしていないのではなく、クロスドメイン ヘッダーが許可されていない場合、ブラウザーが応答をインターセプトし、エラーが発生することに注意してください。 jquery がこのエラーを受け取ると、クロスドメイン エラーが報告されます。 パケットを取得して確認することができます (パケットをキャプチャするためにブラウザの f12 を使用しないように注意してください)。実際には、サーバーからの応答がそこにあります。
jquery 独自の関数はサポートされていませんが、jquery に基づいてクロスドメイン投稿を実装できます。
jquery 自体は jsonp クロスドメインのみをサポートしますが、jsonp の原則により get のみのサポートに制限されます。
ネイティブ jquery クロスドメインを実装する場合は、リクエスト アドレスの先頭に Access-Control-Allow-Origin を追加し、値を API を呼び出すドメイン名 (または *) に設定します
クロスドメインは一般に 2 つのタイプに分類されます:
jsonp クロスドメイン。 jsonp はもともと get file メソッドを使用してクロスドメイン チェックをバイパスするため、post をサポートしていません。 get を使用してポストリクエストをシミュレートするサードパーティライブラリもあります。
COR クロスドメイン。 COR クロスドメインでは、サーバー側の Access-Control-Allow-Origin 応答を変更する必要があります。 通常、クライアントは 2 つの post リクエストを送信します。1 回目はオプションのタイプで、サーバーが許可を返した後、2 回目はデータを含む実際のリクエストを送信します。
回答者の条件が許せば、投稿を直接サポートできる 2 番目のクロスドメイン方法を使用してみてください。
サーバー構成を変更できない場合、回答者はサードパーティのライブラリを探して、jsonp を使用して投稿リクエストをシミュレートできるかどうかを確認できます。
jquery がサポートしていないのではなく、クロスドメイン ヘッダーが許可されていない場合、ブラウザーが応答をインターセプトし、エラーが発生することに注意してください。 jquery がこのエラーを受け取ると、クロスドメイン エラーが報告されます。
パケットを取得して確認することができます (パケットをキャプチャするためにブラウザの f12 を使用しないように注意してください)。実際には、サーバーからの応答がそこにあります。