如何使用 PJAX 设置自定义 xhr header?

How to set custom xhr header with PJAX?

我正在尝试使用 pJax 设置自定义 header,这样我就可以在服务器端呈现内容。根据 pjax docs,我可以使用 pjax:beforeSend 来设置 xhr headers。

出现以下错误:

typeerror xhr.setrequestheader is not a function

我试过的代码:

$(document).on('pjax:beforeSend', function(xhr) { 
    if ($(event.target).data('rendertimeline') !== undefined) {
        xhr.setRequestHeader('X-RENDERTIMELINE', 'true');
    }
});

基本上,我正在向某些 link 添加一个数据属性,并且 link 会检查该属性。如果它在那里,请在标准 HTTP_X_PJAX header 旁边发送自定义 HTTP header。看起来相当简单,但我在某处做空了。

看起来你最近开始使用 PJAX 第一个参数不是 xhr 但事件对象添加了它并且它应该 work.Don 不知道为什么他们在文档中跳过它但是大多数事件如开始,结束等都会有事件作为他们的第一个参数。

$(document).on('pjax:beforeSend', function(event,xhr, options)