【发布时间】:2016-12-21 21:21:19
【问题描述】:
我需要为 Wicket 的所有 Ajax (XHR) 请求添加一个 HTTP 标头。我尝试了以下方法:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('X-My-Header', 'value');
}
});
和
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader('X-My-Header', 'value');
});
它不起作用。
我做错了什么?
我该如何解决这个问题?
解决方案
Wicket 使用它自己的东西来注册全局监听器。
Wicket.Event.subscribe('/ajax/call/beforeSend', function(jqEvent, attributes, jqXHR, errorThrown, textStatus) {
jqXHR.setRequestHeader('X-My-Header', 'value');
});
【问题讨论】:
-
Wicket 本身使用 beforeSend() 来设置内容类型:github.com/apache/wicket/blob/…。它虽然使用本地设置。但是你的方法应该有效。您是否尝试调试它?函数被调用了吗?
标签: javascript ajax http xmlhttprequest wicket