質問

を構築している場合は、 AJA~Xy アプリを使用することに何か欠点はありますか JSONP 何も計画していない場合でも、リクエスト/レスポンス cross-domain リクエスト?

私が考えることができる唯一のことは、コールバック ラッパー用に追加のバイトがいくつかあるということです...

編集:

見つけました これ それはまた示唆します security and error handling 潜在的な問題として...

エラー処理はありません。の script injection 機能するか、機能しないかのどちらかです。エラーが発生した場合は、 injection, 、ページにヒットし、ウィンドウ全体のエラー ハンドラー (悪い、悪い、非常に悪い) が発生しない場合は、戻り値が有効であることを確認する必要があります。 server side.

そうは思わない error handling それはとても問題です...私たちのほとんどは、ライブラリを使用して JSON...私の応答が整形式であるかどうかは、この質問では関係ありません。

そしてセキュリティ:

役立つドキュメントが Web 上にありますが、大まかなチェックとして、 server side 脚本。

これは、どのような種類の応答でも潜在的な問題があるようです...確かに、特別なことは何もありません JSONP セキュリティアリーナで...?

役に立ちましたか?

解決

欠点は?これはかなり制限されており、「GET」リクエストをトリガーし、実行されたスクリプトを取得します。サーバーがエラーをスローした場合はエラー処理が行われないため、すべてのエラーも JSON でラップする必要があります。実際にはリクエストをキャンセルしたり再試行したりすることはできません。動的に生成されたブラウザーの「正しい」動作についてのさまざまなブラウザー作成者の意見に翻弄されることになります。 <script> タグ。デバッグは少し難しくなります。

とはいえ、時々使用していますが、問題はありませんでした。YMMV。

他のヒント

jsonp 呼び出しが失敗した場合にエラーを取得することが可能です。

http://code.google.com/p/jquery-jsonp/

それが役に立てば幸い。

最大の制限は、サーバーを呼び出すためにブラウザーがスクリプト タグをレンダリングするための余分なオーバーヘッドかもしれないと思います。さらに、JSONP は実際には XMLHttpRequest オブジェクトを使用しないため、本当に AJAX とみなされますか?

ここで、JSONP に関して考慮すべき点がもう 1 つあります。メモリリークの可能性があります。

http://neil.fraser.name/news/2009/07/27/

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top