检查JSON数据的全局AJAX成功处理程序

时间:2011-10-05 18:32:00

标签: jquery

我的所有REST服务都返回一些公共标志作为每个JSON响应结构的一部分。例如,通知标志。如何干净地设置某些东西以挂钩到页面上的每个ajax请求,以检查响应有效负载是否存在这些标志。

我还想在请求上做类似的事情,在调用之前通过自动向URL添加某些常用参数。

请帮忙!

2 个答案:

答案 0 :(得分:2)

听起来像.ajaxSuccess() doc here会让你做你想做的事情,因为它是一个集中的方法,在所有jQuery ajax请求成功时被调用。列出了其他全局ajax处理程序here

答案 1 :(得分:0)

一种可能的方法是设置转换器:

例如,我使用一个来检测我的asp.net版本(3.5+以不同的方式返回内容)以存在“d”属性:

$.ajaxSetup(
    {
    data: "{}",
    dataType: "jsond",
    type: "POST",
    contentType: "application/json",
    converters:
    {
        "json jsond": function(msg) {
        return msg.hasOwnProperty('d') ? msg.d : msg;
        }
    }
});

你也可以成功地做同样的事情:

$.ajaxSetup(
    {
    data: "{}",
    dataType: "json",
    type: "POST",
    contentType: "application/json",
    success:
    {
        "json": function(msg) {
            MyGlobalvariable = msg.hasOwnProperty('MyFlag') ? msg.MyFlag : "";
        }
    }
});
相关问题