jQuery の ajax jsonp を使用して、construction_jquery を解決するクロスドメイン リクエスト

WBOY
リリース: 2016-05-16 18:01:09
オリジナル
888 人が閲覧しました

error メソッドを直接実行すると、エラーが表示されます。ajax jsonp はこれまで使用されたことがなく、その理解は通常の ajax リクエストの理解と同様であり、深く理解されていないため、何度かデバッグを行った後にこのエラーが発生します。バックグラウンドコードとjs部分のプロパティ設定を確認してください)がまだ機能せず、非常に驚​​き、困惑しています。そこで、ajax jsonp の使用法を注意深く研究し、最終的に成功したテストの学習体験を皆さんと共有することにしました。
まず、正常に実行できるコードを投稿します。
(ページ部分)

コードをコピー コードは次のとおりです:




無題ページ





パート)




コードをコピー

コードは次のとおりです:
<%@ WebHandler Language= "C#" Class= "ajax" %> using System; using System.Web; public class ajax : IHttpHandler { public void ProcessRequest (HttpContext context) { context. Response.ContentType = " text/plain";
string callbackFunName = context.Request["callbackparam"];
context.Response.Write(callbackFunName "([ { name:"John"} ] )");
}
public bool IsReusable {
get {
return false;
}
}
}


(パケット キャプチャのスクリーンショットを要求)





Ajax リクエスト パラメーターの説明:

dataType String
サーバーによって返されることが予期されるデータ型。指定しない場合、jQuery は HTTP パッケージの MIME 情報に基づいて自動的にインテリジェントな判断を行います。たとえば、XML の MIME タイプは XML として認識されます。 1.4 では、JSON が JavaScript オブジェクトを生成し、script がスクリプトを実行します。サーバーから返されたデータは、この値に基づいて解析され、コールバック関数に渡されます。使用可能な値:

"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 リクエストのコールバック関数名を指定します。この値は、j​​Query によって自動的に生成されるランダムな関数名の代わりに使用されます。これは主に、jQuery が一意の関数名を生成できるようにして、リクエストの管理やコールバック関数とエラー処理の提供を容易にするために使用されます。ブラウザで GET リクエストをキャッシュする場合は、このコールバック関数名を指定することもできます。
ajax jsonp と通常の ajax リクエストの主な違いは、リクエストの応答結果の処理です。上記のコードに示されている応答結果は次のとおりです:
success_jsonpCallback([ { name: "John"} ] ); ——実際には、jsonp コールバック関数 success_jsonpCallback を呼び出し、応答する文字列または json を渡します。ここでメソッド (パラメーター値として)、その基礎となる実装、大まかな推測は次のようになります:




コードをコピー


コードは次のとおりです。


function success_jsonpCallback(data)
{
success(data);
}

テスト後、ajax jsonp は同期リクエストまたは非同期リクエストに影響を与えません。 説明に間違いや不完全な点がある場合は、メッセージを残してレンガを投げていただいても構いません。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート