2012-06-26 33 views
5

Có thể sử dụng một số loại JavaScript để thay đổi hoặc đặt tiêu đề của yêu cầu HTTP không?Có thể thay đổi tiêu đề của yêu cầu http bằng javascript không?

+3

@Thiago, Khi bạn nói "html", bạn có nghĩa là "http". HTML là định dạng của văn bản được trả lại từ Yêu cầu HTTP. Ngoài ra, bạn đang đề cập đến một yêu cầu không đồng bộ (tức là, ajax) hoặc theo yêu cầu được thực hiện bởi trình duyệt (ví dụ: khi người dùng nhấp vào liên kết và trình duyệt gửi yêu cầu cho tài nguyên mới). –

+0

Ban đầu tôi không phải là yêu cầu của trình duyệt sau khi một liên kết được nhấp, tuy nhiên ajax cũng có thể giải quyết được vấn đề của tôi. Xin lỗi về những sai lầm đó với html/http x.x – thiagocfb

Trả lời

7

Tiêu đề được chuyển qua rất lâu trước khi javascript được tải xuống, hãy giải thích một mình. Ngắn gọn là câu trả lời là không.

Tuy nhiên, nếu bạn đang nói trong ngữ cảnh cuộc gọi ajax (hãy sử dụng jQuery làm ví dụ), các tiêu đề yêu cầu có thể được viết.

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

Tuy nhiên, nếu javascript của bạn là server-side (ví dụ như Node.js) mà sẽ là một yes (có lẽ không kể từ khi bài đề cập HTML):

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

Nói Html là một sai lầm của tôi, đó là phía máy chủ, tôi tin rằng câu trả lời của bạn sẽ giúp tôi rất nhiều! Cảm ơn !! – thiagocfb

7

Sử dụng đối tượng XMLHttpRequest, bạn có thể sử dụng chức năng setRequestHeader.

Một mã nhỏ để giúp bạn trên con đường của bạn:

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

xhr.send(); 

Phương pháp setRequestHeaderphải được gọi sau khi mở, và trước khi gửi.

Thông tin thêm: https://developer.mozilla.org/en/DOM/XMLHttpRequest#setRequestHeader()

+0

Wow cảm ơn rất nhiều sự giúp đỡ của bạn! Sẽ thử điều đó! :) – thiagocfb

Các vấn đề liên quan