【问题标题】:Add HTTP Header to Wicket Ajax Request将 HTTP 标头添加到 Wicket Ajax 请求
【发布时间】: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


【解决方案1】:

我不知道您的尝试失败的原因,但 wicket 通过 AJAX 全局侦听器提供了对此类要求的支持。在本章中搜索段落“全局侦听器”:

https://ci.apache.org/projects/wicket/guide/7.x/guide/ajax.html#ajax_6

【讨论】:

  • 这是因为 Wicket 使用它自己的东西来注册全局侦听器,请参阅上面的解决方案。感谢您的输入! :)
猜你喜欢
  • 2016-09-28
  • 2017-02-15
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多