クロスドメインアクセスJSONPを使用するには、どのようにjqueryのAJAX

プロジェクトで使用されるインタフェースではjqueryのjqueryのAJAXのみJSONPメソッドを使用することができ、より多くのクロスドメインアクセス・クライアントです。

これは、ことは注目に値する、jQuery.ajax()は、唯一のアプローチを得るためにクロスドメイン、ポストの方法がサポートされていませんサポートしています。
<PRE>
<種類のスクリプト= "テキスト/ JavaScriptを">

//速記
$ .getJSON( "http://www.shuchengxian.com/index.php?callback=?"、
機能(データ){
$(「# 。ショー「)、テキスト(データ)
});

完全な形//
$アヤックス({
非同期:falseに、
URL :, //クロスドメイン'http://www.shuchengxian.com/index.php?callback=?' URLコールバックパラメータに必要な
タイプ: 'GET'、
データ型: 'JSONP'、
JSONP: 'jsoncallback'、//コールバックのデフォルト
データ:MYDATA、//リクエストデータの
タイムアウト:5000、
beforeSend:関数(){//この実施例JSONPこの方法は、トリガされません。データ型JSONPが、それは、イベントAJAXされていない場合はその理由を指定してもよいです
}、
成功:機能(JSON)の後{//クライアント事前に定義されたコールバック関数が終了するのjqueryの、サーバー上のjsonの取得に成功したクロスドメインデータは、コールバック関数を動的に実行されます
(json.length = 0!){IF
アラート(JSON。たActionErrors);
}
}、
エラー:関数(XHR){
//この方法のJSONPがトリガされていない
要求のエラー処理@
)警告( "リクエストエラー(チェックネットワーク状態の相関関係)";
}
});
</スクリプト>
</ PRE>
このように実施例実際$アヤックス({..})高度なパッケージ。

エンドjQueryのコールバックの後に得られる:コールバックパラメータで(jsonpcallbackなど)サーバによって得られます

類似してReturn: "jsonpcallback(" 返される+ JSONアレイ+ ")"。

jqueryのコールバックメソッドは、この動的負荷呼ぶ:jsonpcallback(JSONアレイ)

jQueryのデフォルトの場合、データは次のようにランダムにjsonp1356493334400ました。これは、クロスドメインのデータ交換の目的を達成します。

JSONPは、スクリプトインジェクション(スクリプトインジェクション)動作である、いくつかのセキュリティ上のリスクがあります。

注:jqueyは、ドメイン間でポストの方法をサポートしていません。

これはないクロスドメインに追加することができるアクセスするバックエンドPHPの下で一般的に推奨されないJSONPが、クロスドメインアクセス制御ドメイン名である
<PRE>
//ハンドルクロスドメイン
ヘッダ(「アクセス制御-許可 -Origin:*」); / / *数値は、すべてのドメインがアクセスできることを示す
ヘッダ(「アクセス制御-法、Allow-:POST、GETを」);
</ PRE>

クロスドメインアクセスも可能PHPのカールを得ることができます

おすすめ

転載: www.cnblogs.com/newmiracle/p/11875975.html
おすすめ