2012-06-26 14 views
5

Czy można użyć jakiegoś JavaScript do zmiany lub ustawienia nagłówka żądania HTTP?Czy można zmienić nagłówek żądania http za pomocą javascript?

+3

@Thiago, Kiedy mówisz "html", to znaczy "http". HTML to format tekstu zwracanego z żądania HTTP. Czy odwołujesz się również do żądania asynchronicznego (np. Ajax) lub żądania, które jest wykonywane przez przeglądarkę (na przykład, gdy użytkownik kliknie łącze, a przeglądarka wyśle ​​żądanie dla nowego zasobu). –

+0

Oryginalnie chodzi mi o to, że zapytanie zostało wykonane przez przeglądarkę po kliknięciu łącza, jednak ajax może rozwiązać mój problem. Przepraszam za błąd z html/http x.x – thiagocfb

Odpowiedz

7

Nagłówki są przekazywane na długo przed pobraniem javascript, nie mówiąc już o interpretacji. Krótka odpowiedź brzmi: nie.

Jednakże, jeśli mówisz w kontekście połączenia ajax (użyjmy jQuery jako przykładu), nagłówki żądań mogą być zapisane.

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

Jednakże, jeśli javascript jest po stronie serwera (np node.js), który byłby Tak (prawdopodobnie nie, ponieważ po wspomina HTML):

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

Saying Html był moim błędem, jest po stronie serwera, wierzę, że twoja odpowiedź bardzo mi pomoże! Dzięki !! – thiagocfb

7

Korzystanie z obiektu XMLHttpRequest, ty może korzystać z funkcji setRequestHeader.

Trochę kod, aby dostać się na swój sposób:

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

xhr.send(); 

Sposób setRequestHeadermusi nazwać po otwarte, a przed wysłaniem.

Więcej informacji: https://developer.mozilla.org/en/DOM/XMLHttpRequest#setRequestHeader()

+0

Wow, dziękuję za pomoc! Spróbuję tego! :) – thiagocfb

Powiązane problemy