javascript - jsonp は getreason のみを使用できます
阿神
阿神 2017-06-12 09:28:42
0
5
1224

なぜ jsonp は get リクエストのみを使用できるのでしょうか? get の理由、post の理由、またはその他の理由がありますか? ドキュメントを確認したところ、「これはテクノロジー自体の特性によって決定される」と書かれていました。 . この特徴は何を意味するのでしょうか?詳しく説明してもらえますか?どうもありがとう!

阿神
阿神

闭关修行中......

全員に返信(5)
Ty80

JSONPは
【JSスクリプトをリクエストし、そのスクリプトの実行結果をデータとして扱う】
メソッドです。

それでは、script タグを通じて導入されたスクリプトを POST できますか?

(JSONP ライブラリのソース コードを読んだことがある場合は、一般的な実装コードが実際には document.createElement('script') スクリプト タグを生成して本文に挿入していることがわかります。ここではリクエスト形式を設定する余地はありません)。

いいねを押す +0
世界只因有你

ドメイン名 AAJAX の JS コードは、ドメイン名 B のサーバー データをリクエストします。これはクロスドメイン AJAX リクエストであり、デフォルトでは不可能です。

ただし、HTML には、img スクリプト タグなど、クロスドメイン リクエストを実行できる場所があり、その src 属性は、ドメイン名 A の下にないアドレス (つまり、クロスドメイン) を指します。

その後、誰かが上記の特性を利用して、ドメインを越えてコンテンツを取得できるスクリプトの src の機能を選択し、JSONP のようなハッキング プロトコルを開発しました。 (src内のリクエストは全てGETです)

JSONP リクエストが次のとおりであると仮定します:

リーリー

舞台裏で何が起こっているのか:

  1. スクリプトタグ<script src="http://path/to/server/b?A=a&B=b&callbackFunctionName=myCallback"></script>を結合して、指定されたアドレスへのGETリクエストをトリガーします

  2. サーバーはこのGETリクエストを処理し、文字列「myCallback('response value')」を返します

  3. フロントエンドスクリプトがロードされた後、実際にスクリプト内で実行されますmyCallback('response value')

  4. クロスドメインリクエストは完了しましたか?

  5. GETを使用することは可能ですか

いいねを押す +0
黄舟

ページに js コードを動的に追加するのと同じように、js ファイルを投稿できると思いますか?

いいねを押す +0
给我你的怀抱

リクエストしたアドレスから次のような Web ページが返されたとします。

リーリー

ブラウザはこの Web ページを取得した後、それを解析して

を実行する必要があります リーリー このコード行を読んだとき、ここで js ファイルが必要であることがわかったので、この js ファイルを取得するために別のリクエストを開始しました。このリクエストでは、アドレスを入力するのと同じように、POST ではなく GET メソッドのみを使用できます。ブラウザのアドレスバーに Enter キーを押して入力するのと同じです。

JSONPの実装原理はscriptタグを作成し、リクエストする必要があるAPIアドレスをsrcに入れることなのでGETのみ可能です

いいねを押す +0
代言

<script>タグがあるため、GETのみがサポートされています

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!