jQuery.ajaxPrefilter:添加了额外的帖子数据,解析为文字[object Object]

时间:2015-09-11 05:06:56

标签: jquery ajax

我使用$.ajaxPrefilter为每个请求添加额外的数据(对象)。

$.ajaxPrefilter(function(opt, origOpt, xhr) {
    //app.user is a predefined object, eg. {username:'john', role:1}
    if(app.user) {
        opt.data = $.extend(origOpt.data, app.user);
    }
});

但是发布的数据似乎(在Firefox网络面板> Params标签中)读作文字[object Object]而不是键值对发布数据。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

也许,你应该试试.ajaxSetup()吗?

$.ajaxSetup({
    data: app.user ? app.user : {}
});

<强> UPD。

尝试将data转换为字符串,如建议here

$.ajaxPrefilter(function(options, origOptions, jqXHR) {
    if (app.user) {
        options.data = $.param($.extend({}, origOptions.data, app.user));
    }
});