Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向Wicket Ajax请求添加HTTP头_Javascript_Ajax_Http_Xmlhttprequest_Wicket - Fatal编程技术网

Javascript 向Wicket Ajax请求添加HTTP头

Javascript 向Wicket Ajax请求添加HTTP头,javascript,ajax,http,xmlhttprequest,wicket,Javascript,Ajax,Http,Xmlhttprequest,Wicket,我需要向Wicket的所有Ajax(XHR)请求添加HTTP头。我尝试了以下方法: $.ajaxSetup({ beforeSend: function(xhr) { xhr.setRequestHeader('X-My-Header', 'value'); } }); 及 它不起作用 我做错了什么 我怎样才能解决这个问题 解决方案 Wicket使用它自己的东西来注册全局侦听器 Wicket.Event.subscribe('/ajax/call/beforeS

我需要向Wicket的所有Ajax(XHR)请求添加HTTP头。我尝试了以下方法:

$.ajaxSetup({
    beforeSend: function(xhr) {
        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通过AJAX全局侦听器为此类需求提供了支持。在本章中搜索“全局侦听器”段落:


Wicket本身使用beforeSend()设置内容类型:。但它使用本地设置。但你的方法应该奏效。你试过调试它吗?函数被调用了吗?这是因为Wicket使用它自己的东西来注册全局侦听器,请参见上面我的解决方案。谢谢你的意见!!:)
Wicket.Event.subscribe('/ajax/call/beforeSend', function(jqEvent, attributes, jqXHR, errorThrown, textStatus) {
    jqXHR.setRequestHeader('X-My-Header', 'value');
});