ホームページ >ウェブフロントエンド >jsチュートリアル >jquery ajax_jquery での jsonp の使用の制限に対する解決策

jquery ajax_jquery での jsonp の使用の制限に対する解決策

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

jsonp は、クロスドメインの Ajax 呼び出しの問題を解決します。なぜクロスドメインの Ajax 呼び出しを行う必要があるのでしょうか?このようにして、あるアプリケーションは、フロントエンドの js を通じて別のアプリケーション (別のドメイン名の下) の API を直接呼び出すことができます。
私たちは実際のアプリケーションでも jsonp を使用しましたが、これまでは get リクエストしか送信できないという制限が 1 つだけありました。get リクエストの欠点は、リクエストの長さが制限されていることです。
今日、(jquery ajax のコンテキストで) jsonp の別の制限を発見しました。$.ajax のエラー コールバックはトリガーされません。サンプル コードは次のとおりです。

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

$.ajax({
dataType : 'jsonp'、。
この制限は、jsonp の実装メカニズムによって決まります。

解決策:

jquery プラグインを使用します - jquery-jsonp、https://github.com/jaubourg/jquery-jsonp
サンプルコード:

コードをコピー


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



コードをコピー

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

$.jsonp({ url : '' , 成功: function (data) { }, エラー: function (xOptions, textStatus) {
console.log(textStatus);
}
}) ;



jsonp リクエストに 404 エラーなどのエラーがある場合、エラー コールバック関数が実行され、文字列「error」が出力されます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。