jquery $.getJSON() クロスドメインリクエスト

巴扎黑
リリース: 2017-07-03 09:44:33
オリジナル
961 人が閲覧しました

以前は何が起こっているのかまったく理解できませんでしたが、もう他に選択肢がないので、ドキュメントを注意深く読み、最終的にテストが成功しました。注意してください

1、同じドメイン名と他のリクエストも同じである可能性があります
js:

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

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


サーバーは異なるドメイン名で string:
{"Name":"loogn","Age":23} を返します:


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

var url="http://localhost:2589/a.ashx?callback=?";

$(function(){

$.getJSON(url,function(data){
alert (data.Name);
})
});


サーバーは次の文字列を返します:


jQuery
1706543070425920333_1324445763158({"Name":"loogn","Age":23}) 戻ってきたstring は "jQuery1 706543070425920333_1324445763158 " 関数
という呼び出しです。パラメーターは {"Name":"loogn","Age":23} です。実際、この非常に長い関数名はリクエスト パス内の callback=? の関数であり、次のようになると思います。 $.getJSON メソッドはコールバック メソッドへの reference 名を生成します。 。上記のリクエストは
http://localhost:2589/a.ashx?callback=jQuery1706543070425920333_1324445763158&_=1324445763194 のようになります。
コードは次のとおりです。
文字列

cb = context.Request["callback"];

context.Response.Write(cb + "(" + json + ")");

パラメータ名は jsoncallback に置き換えることもできると思います。競合を恐れるため、jsoncallback は検出を優先する必要があります。それ以上の検出コールバックはありません (テストされていません!!)
?
コールバック関数

を匿名にすることができないように、特定の関数名を指定することもできます。生成は、一般的な操作のために jQuery によって提供される便宜的なものにすぎません。

以上がjquery $.getJSON() クロスドメインリクエストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!