2

我正在尝试制作通用响应的全局 ajax 处理程序。(例如刷新页面)

是否有任何处理程序或黑客,所以我已经解析了 json,所以我不必解析它两次?

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

好的,找到了一些“hacky”解决方案,可能对其他人有用:)

4

1 回答 1

2

解决方案是覆盖 jquery ajax json 解析器:

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 回答