jsonpリクエスト(以下のクライアントコード)からのクエリ文字列を見ると、2つのオブジェクトがあります。応答で使用する必要がある「コールバック」文字列(クライアントコードが成功ハンドラーに転送するため)と、キーの_
...このアンダースコアは何のためにありますか?私はどのドキュメントにもこれへの参照を見つけることができません、それはある種の数であるように見えます。
エラーハンドラーに転送するために使用される可能性がありますが(オン、コールバックと組み合わせて、またはコールバック文字列のアンダースコアの後の番号を置き換える)、そうではないようです。
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リクエストであるため、例外がクライアント側で発生した場合にのみエラーが発生します。たとえば、タイムアウトや応答のフォーマットに問題があります(つまり、コールバックを使用していません)。これを克服するために、私は常にハンドラーで例外をログに記録して飲み込みますが、例外の状態プロパティとメッセージプロパティを持つ標準の応答オブジェクト(すべての応答で構成されています)を提供します。