Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

setRequestHeader method

Adds custom HTTP headers to the request.


XMLHttpRequest.setRequestHeader(bstrHeader, bstrValue);


bstrHeader [in]

Type: String

String that specifies the header name.

bstrValue [in]

Type: String

String that specifies the header value.

Return value

This method does not return a value.

Standards information


Refer to RFC2616, Section 14: Header Field Definitions for a general list of standard headers. The server is ultimately responsible for honoring the headers of the request. By far the most common request header is Content-Type, which is required by some XML Web services.

setRequestHeader was introduced in Windows Internet Explorer 7.


The following script sets the HTTP Content-Type header to 'text/xml' before sending the request body:

var oReq = new XMLHttpRequest();"POST", sURL, false);
oReq.setRequestHeader("Content-Type", "text/xml");

This example lets you load and display sections of a file. The example should be run on a server (localhost is fine).

<!DOCTYPE html>
<html >
    <title>setRequestHeader example</title>

    <div>Enter a file, start and end point of a range. </div><br />
    <label>Start Range: <input id="startRange" placeholder="Type a place to start" /></label><br />
    <label>End Range: <input id="endRange" placeholder="Type a place to end"/></label><br />
    <label>File: <input id="filename" placeholder="Type a text file" /></label><br />
    <button id="getFile">Get file</button><br />
    <div id="output" style="display:block; overflow:auto; max-width:800px"></div>
    <!-- Put script below HTML to ensure elements are loaded --> 
      //  Get data from the HTML elements 
      document.getElementById("getFile").addEventListener("click", function () {
        var url = document.getElementById("filename").value.toString();
        var range = document.getElementById("startRange").value.toString();
        range += "-" + document.getElementById("endRange").value.toString();
        getData(url, range);
      }, false);

          // Get data from file  
      function getData(url, range) {
        if (url !== "") {
          var xhr = new XMLHttpRequest(); // Set up xhr request
"GET", url, true);   // Open the request
          xhr.responseType = "text";   // Set the type of response expected
          // If there's a range set, create a request header to limit to that range
          if (range !== undefined && range !== null && range.length > 0) {
            xhr.setRequestHeader("Range", "bytes=" + range);

          //  Asynchronously wait for the data to return
          xhr.onreadystatechange = function () {
            if (xhr.readyState == xhr.DONE) {
              var tempoutput = xhr.response;
              document.getElementById("output").innerHTML = tempoutput;
          //  Report errors if they happen
          xhr.addEventListener("error", function (e) {
            console("Error: " + e + " Could not load url.");
          }, false);


See also




© 2017 Microsoft