jquery $.getJSON() クロスドメイン request_jquery

WBOY
リリース: 2016-05-16 17:58:02
オリジナル
1157 人が閲覧しました

1. 同じドメイン名と他のリクエストは同じにすることができます。
js:

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

var url="http://localhost:2589/a.ashx";
$(function(){
$.getJSON(url,function(data){
alert (data.Name);
})
});

サーバーは文字列を返します:
{"Name":"logn","Age" :23}
2,
js を異なるドメイン名で使用します:
コードをコピー コードは次のとおりです:

var url="http://localhost:2589/a.ashx?callback=?";
$(function(){
$.getJSON(url,function(data) ){
alert (data .Name);
})
});

サーバーは次の文字列を返します:
jQuery1706543070425920333_1324445763158({"Name":"loogn) ","Age":23})
返される文字列は "jQuery1706543070425920333_1324445763158" という関数で、パラメーターは {"Name":"loogn","Age":23} です。
実際、この非常に長い関数名は、リクエスト パス内の callback=? の関数であり、次のようになると思います。 $.getJSON メソッドは、コールバック メソッドを参照する名前を生成します。 。上記のリクエストは、
http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194 のようになります。
コードをコピーします コードは次のとおりです。

string cb = context.Request["callback"];
context.Response.Write (cb "(" json ")");

衝突を防ぐために、jsoncallback を最初に検出する必要があると思います。再び検出されます (テストされていません!!)
?特定の関数名を指定することもできるため、コールバック関数を匿名にすることはできません。生成は、一般的な操作のために jQuery によって提供される便宜的なものにすぎません。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート