我使用$.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]
而不是键值对发布数据。
感谢您的帮助。
答案 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));
}
});