2016-08-02 11 views
2

Ich versuche, einen benutzerdefinierten Header mit pJax festzulegen, damit ich Dinge auf der Serverseite rendern kann. Per pjax docs kann ich pjax:beforeSend verwenden, um XHR-Header festzulegen.Wie setze ich einen benutzerdefinierten xhr-Header mit PJAX?

gibt es die folgende Fehlermeldung:

typeerror xhr.setrequestheader is not a function 

Der Code, den ich versucht habe:

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

Im Grunde bin ich das Hinzufügen eines Datenattribut auf bestimmte Links und würde dem Link zu diesem Attribut zu überprüfen . Wenn es dort ist, senden Sie einen benutzerdefinierten HTTP-Header neben dem Standard-Header HTTP_X_PJAX. Schien ziemlich einfach, aber ich komme irgendwo kurz.

+0

Haben Sie versucht, 'xhr' zu protokollieren, um sicherzustellen, dass es sich tatsächlich um die Anfrage handelt? Ich bin nicht vertraut mit jQuerys Umgang mit XmlHttpRequests, aber vielleicht bekommst du nicht das, was du denkst, dass du es bist. –

Antwort

1

Sieht aus wie Sie begonnen haben PJAX kürzlich erste Argument ist nicht xhr aber Ereignisobjekt, das hinzufügen und es sollte wissen work.Don't, warum sie es in docs übersprungen, aber die meisten Ereignisse wie Start, Ende usw. werden Veranstaltung haben als erstes Argument.

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

Ich denke du bist auf dem richtigen Weg. Jetzt, da ich meinen Code anschaue, sehe ich, dass ich 'event' ohne ein event-Argument verwende, aber der Header wird immer noch nicht gesetzt, auch nachdem er der arguments-Liste ein Event hinzugefügt hat. Wenn ich hinzufüge, wenn ich den setRequestHeader-Code zu pJax options.beforeSend -Funktion hinzufügen (Zeile 206 in jquery.pjax.js) - es funktioniert gut .. Jeder Grund, dass es nicht von meinem eigenen Skript aufrufen, aber funktioniert aus der Bibliothek ? – KFE

+0

Das sollte funktionieren. Es hat immer für mich funktioniert – Viney

Verwandte Themen