ホームページ >ウェブフロントエンド >jsチュートリアル >JQuery の Ajax クロスドメイン リクエストの概要と例 priority_jquery

JQuery の Ajax クロスドメイン リクエストの概要と例 priority_jquery

WBOY
WBOYオリジナル
2016-05-16 17:35:051191ブラウズ

今日、プロジェクトでリモート データをロードしてページをレンダリングする必要があります。私は開発段階まで Ajax クロスドメイン リクエストの問題に気づきませんでしたが、Jquery が Ajax クロスドメイン リクエストに対する解決策について言及していたことを漠然と思い出しました。そこで、すぐに Jquery の API を調べて調べました。post
JQuery には Ajax クロスドメイン リクエスト用のソリューションが 2 種類ありますが、どちらも get メソッドのみをサポートしています。それは、JQuery の jquery.ajax jsonp 形式と jquery.getScript メソッドです。

jsonp 形式とは何ですか? API原文:取得したデータファイルがリモートサーバー上に保存されている場合(ドメイン名が異なる場合、つまりクロスドメインデータ取得)、jsonp型を使用する必要があります。このタイプを使用すると、リクエストされた URL に追加されるクエリ文字列パラメータ callback=? が作成されます。有効な JSONP リクエストを完了するには、サーバーは JSON データの前にコールバック関数名を追加する必要があります。つまり、リモート サーバーは、クライアントから送信されたコールバック パラメーターに従って、返されたデータを処理してコールバック (json) データを返す必要があり、クライアントはスクリプトを使用して返されたデータを処理して、json データを処理します。 JQuery.getJSON は、jsonp データ メソッド呼び出しもサポートしています。

クライアント JQuery.ajax 呼び出しコードの例:

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

$.ajax({
type : "get",
async:false,
url : "http://www.xxx.com/ajax.do",
dataType : "jsonp",
jsonp: "callbackparam",//コールバック呼び出しの関数名を受け取るためにサーバーが使用するパラメータ
jsonpCallback: "success_jsonpCallback",//コールバックの関数名
成功: function( json){
alert(json);
alert(json[0].name);
error:function(){
alert('失敗');
}
});

サーバーから返されるデータのサンプル コード:

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain"; callbackFunName = context.Request["callbackparam"] ;
context.Response.Write(callbackFunName "([ { name:"John"}])");
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。