Bug Tracker

Ticket #1118 (new feature)

Opened 1 year ago

Last modified 1 year ago

Migrate AJAX setRequestHeader() to a mapping in ajaxSettings

Reported by: DanSwitzer2 Assigned to: anonymous
Type: feature Priority: major
Milestone: 1.1.3 Component: ajax
Version: 1.1.2 Keywords:
Cc: Needs: Review

Description

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.)

-Dan

Attachments

Note: See TracTickets for help on using tickets.