2

汎用応答のグローバルajaxハンドラーを作成しようとしています。(例:ページの更新)

ハンドラーやハックはありますか?すでに解析されたjsonを取得するので、2回解析する必要はありませんか?

$(document).ajaxSuccess(function(e, xhr) {
    // Validate and parse xhr.responseText TWICE!
});

さて、少し「ハッキー」な解決策を見つけました。おそらく他の人にも役立つでしょう:)

4

1 に答える 1

2

解決策は、jqueryajaxjsonパーサーをオーバーライドすることです。

function parseJsonResponse(d) {
    var json = jQuery.parseJSON(d); // Same as default

    // Do anything with json object :)

    return json;
}
// Override original parser, defaults to jQuery.parseJSON.
jQuery.ajaxSettings.converters['text json'] = parseJsonResponse;

parseJsonResponseまた、グローバル関数になりたくない場合は、このコードを自己実行型の無名関数に入れることができます

于 2012-10-12T11:03:04.677 に答える