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 によって提供される便宜的なものにすぎません。