Bug Tracker

Opened 13 years ago

Closed 10 years ago

Last modified 8 years ago

#1118 closed feature (duplicate)

Migrate AJAX setRequestHeader() to a mapping in ajaxSettings

Reported by: DanSwitzer2 Owned by:
Priority: major Milestone: 1.1.3
Component: ajax Version: 1.1.2
Keywords: Cc:
Blocked by: Blocking:

Description (last modified by dmethvin)

Code could be reduced and flexibility increase by adding a "headers" key to the ajaxSettings defaults, which could be used to specify additional headers to send with each AJAX request.

The following documents what changes need to be made:

Add a "headers" key to the ajaxSettings defaults:

ajaxSettings: {

global: true, type: "GET", timeout: 0, contentType: "application/x-www-form-urlencoded", processData: true, async: true, data: null, headers: {"X-Requested-With": "XMLHttpRequest"}


Remove the following lines:

Set header so the called script knows that it's an XMLHttpRequest xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");

Make sure the browser sends the right content length if ( xml.overrideMimeType )

xml.setRequestHeader("Connection", "close");

Add the following line:

supply any additional mapped headers for( var k in s ) xml.setRequestHeader(k, s[k]);

That's it! This will make it easier to add headers to a request, reduces the code and removes the old "Connection: close" fix for older Gecko-based browsers (which are no longer supported by jQuery anyway.)


Change History (3)

comment:1 Changed 10 years ago by dmethvin

Description: modified (diff)

See also #4453.

comment:2 Changed 10 years ago by Rick Waldron

Resolution: duplicate
Status: newclosed

comment:3 Changed 10 years ago by Rick Waldron

Duplicate of #4453.

Note: See TracTickets for help on using tickets.