error メソッドを直接実行すると、エラーが表示されます。ajax jsonp はこれまで使用されたことがなく、その理解は通常の ajax リクエストの理解と同様であり、深く理解されていないため、何度かデバッグを行った後にこのエラーが発生します。バックグラウンドコードとjs部分のプロパティ設定を確認してください)がまだ機能せず、非常に驚き、困惑しています。そこで、ajax jsonp の使用法を注意深く研究し、最終的に成功したテストの学習体験を皆さんと共有することにしました。
まず、正常に実行できるコードを投稿します。
(ページ部分)
"xml": jQuery で処理できる XML ドキュメントを返します。 "html": プレーンテキストの HTML 情報を返します。含まれているスクリプト タグは、DOM に挿入されると実行されます。
"script": プレーンテキストの JavaScript コードを返します。結果は自動的にキャッシュされません。 「キャッシュ」パラメータが設定されていない限り。 ''''注意:''''リモート リクエスト (同じドメインの下ではない) を行う場合、すべての POST リクエストは GET リクエストに変換されます。 (読み込みにDOMスクリプトタグを使用するため)"json": JSONデータを返します。 「jsonp」: JSONP 形式。 「myurl?callback=?」などの JSONP 形式を使用して関数を呼び出す場合、jQuery はコールバック関数を実行するために ? を正しい関数名に自動的に置き換えます。
"text": プレーン テキスト文字列を返します。 jsonp String
jsonp リクエスト内のコールバック関数の名前を書き換えます。この値は、「callback=?」などの GET または POST リクエストの URL パラメーターの「callback」部分を置換するために使用されます。たとえば、{jsonp:'onJsonPLoad'} は「onJsonPLoad=?」に渡されます。サーバー。
jsonpCallback String
jsonp リクエストのコールバック関数名を指定します。この値は、jQuery によって自動的に生成されるランダムな関数名の代わりに使用されます。これは主に、jQuery が一意の関数名を生成できるようにして、リクエストの管理やコールバック関数とエラー処理の提供を容易にするために使用されます。ブラウザで GET リクエストをキャッシュする場合は、このコールバック関数名を指定することもできます。
ajax jsonp と通常の ajax リクエストの主な違いは、リクエストの応答結果の処理です。上記のコードに示されている応答結果は次のとおりです:
success_jsonpCallback([ { name: "John"} ] ); ——実際には、jsonp コールバック関数 success_jsonpCallback を呼び出し、応答する文字列または json を渡します。ここでメソッド (パラメーター値として)、その基礎となる実装、大まかな推測は次のようになります:
コードをコピー
コードは次のとおりです。