9

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

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

編集:

これは、潜在的な問題としても示唆されていることがわかりましsecurity and error handling...

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

大した問題ではないと思いますerror handling...私たちのほとんどは、ライブラリを使用して生成しJSONます...私の応答の整形式は、この質問の懸念事項ではありません。

およびセキュリティ:

server sideWeb 上に参考になるドキュメントがありますが、簡単なチェックとして、スクリプト内のリファラーをチェックします。

これは、あらゆるタイプの応答で潜在的な問題のようです...確かにJSONP、セキュリティ分野に固有のものは何もありません...?

4

4 に答える 4

10

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

そうは言っても、私は時々それを使用しました、そして苦しんでいません。YMMV。

于 2008-08-22T19:03:51.183 に答える
5

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

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

それが役に立てば幸い。

于 2009-03-08T04:36:53.813 に答える
2

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

于 2008-08-21T02:22:16.980 に答える
0

ここでは、JSONP で考慮したい別のビットがあります..メモリ リークの可能性があります..

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

于 2009-09-21T17:50:45.763 に答える