jsonpリクエスト(以下のクライアントコード)からクエリ文字列を見ると、レスポンスで使用する必要がある "コールバック"文字列(クライアントコードが成功ハンドラに送られる)と1つ"_"のキーで...このアンダースコアは何ですか?私はどのドキュメントでもこれを参照することはできませんが、いくつかの種類のようです。jQuery jsonp ajaxリクエストのクエリ文字列のアンダースコアは何ですか?
エラーハンドラ(コールバックとの組み合わせで、またはコールバック文字列のアンダースコアの後にある数字の代わりに)のエラーハンドラに向けるのに使用できますが、そのようには見えません。
url = 'http://localhost:11767/Handlers/MyHandler.ashx';
...これは誰もがこれを読んで助け場合に
$.ajax({
url: url,
dataType: "jsonp",
error: function (jqXHR, textStatus, errorThrown) {
//...
},
success : function(d) {
//...
}
});
または
$.getJSON(url + "?callback=?", function(d) {
}).success(function(d) {
//...
}).error(function(jqXHR, textStatus, errorThrown) {
//...
}).complete(function(d) {
//...
});
サイドノート:これはJSONP要求であるとして、エラーが唯一の例外た場合にヒットしますクライアント側で発生します。これを克服するために、応答の書式設定にタイムアウトや問題があります(コールバックを使用しないなど)。私は常にハンドラ内で例外を記録して呑み込みますが、標準の応答オブジェクト(すべての応答が構成されます)例外の状態プロパティとメッセージプロパティがあります。
JSONPリクエストがスクリプトタグを挿入してエラーハンドラを持たないため、エラーハンドラのためのコードはほとんどありませんので、上記コードのエラー関数は決して発生しません。ほとんどの場合、アンダースコアはXMLHttpRequestに関連するものではないでしょうか? – adeneo
@adeneo - 私は同じ結論に達しました(しかし、下のREでエラーハンドラを読みましたが)。下線は関連していないかもしれませんが、私はちょうどそれが何で、どこから来たのか、どんな使い方だったのだろうと思っただけです。 –