2012-06-26 11 views
5

È possibile utilizzare un qualche tipo di JavaScript per modificare o impostare l'intestazione di una richiesta HTTP?È possibile modificare l'intestazione della richiesta http usando javascript?

+3

@Thiago, Quando si dice "html", vuol dire "http". HTML è il formato del testo restituito dalla richiesta HTTP. Inoltre, ti stai riferendo a una richiesta asincrona (ad esempio, ajax) oa una richiesta effettuata dal browser (ad esempio, quando l'utente fa clic su un collegamento e il browser invia una richiesta per la nuova risorsa). –

+0

Inizialmente intendo la richiesta fatta dal browser dopo che si è fatto clic su un collegamento, tuttavia ajax potrebbe risolvere anche il mio problema. Mi dispiace per l'errore lì con html/http x.x – thiagocfb

risposta

7

Le intestazioni vengono inoltrate molto tempo prima che javascript sia scaricato, per non parlare dell'interpretazione. La risposta breve è no.

Tuttavia, se si sta parlando nel contesto di una chiamata Ajax (utilizziamo jQuery come esempio), è possibile scrivere le intestazioni della richiesta.

Vedere reading headers from an AJAX call with jQuery. Vedere setting headers before making the AJAX call with jQuery

Tuttavia, se il javascript è lato server (ad esempio node.js) che sarebbe un sì (probabilmente non in quanto post cita HTML):

var body = 'hello world'; 
response.writeHead(200, {'Content-Length': body.length,'Content-Type': 'text/plain' }); 
+1

Dire che Html è stato un mio errore, è lato server, credo che la tua risposta mi aiuterà molto! Grazie !! – thiagocfb

7

Utilizzando l'oggetto XMLHttpRequest, è può usare la funzione setRequestHeader.

Un po 'di codice per ottenere il vostro cammino:

var xhr = new XMLHttpRequest() 
xhr.open("GET", "/test.html", true); 
xhr.setRequestHeader("Content-type", "text/html"); 

xhr.send(); 

Il metodo setRequestHeaderdeve essere chiamato dopo aperto, e prima di invio.

Maggiori informazioni: https://developer.mozilla.org/en/DOM/XMLHttpRequest#setRequestHeader()

+0

Wow grazie mille per il tuo aiuto! Ci proveremo! :) – thiagocfb

Problemi correlati