2016-12-21 54 views
0

我需要为Wicket的所有Ajax(XHR)请求添加HTTP标头。我已经试过如下:将HTTP标头添加到Wicket Ajax请求

$.ajaxSetup({ 
    beforeSend: function(xhr) { 
     xhr.setRequestHeader('X-My-Header', 'value'); 
    } 
}); 

$(document).ajaxSend(function(e, xhr, options) { 
    xhr.setRequestHeader('X-My-Header', 'value'); 
}); 

它不工作。

我错了什么?

我该如何解决这个问题?

SOLUTION

检票使用它自己的东西来注册的全球听众。

Wicket.Event.subscribe('/ajax/call/beforeSend', function(jqEvent, attributes, jqXHR, errorThrown, textStatus) { 
    jqXHR.setRequestHeader('X-My-Header', 'value'); 
}); 
+0

检票本身使用beforeSend()来设置内容类型:https://github.com/apache/wicket/blob/bcd55813b3afbccb5675096930aee6281c5cba3a/wicket-core /src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js#L682。尽管它使用本地设置。但是你的方法应该可行。你尝试调试它吗?函数是否被调用? –

回答