Bug Tracker

Opened 14 years ago

Closed 13 years ago

Last modified 11 years ago

#5428 closed bug (wontfix)

Change in IE's default ajax headers to prevent encoding problems

Reported by: victorwss Owned by:
Priority: major Milestone: 1.4
Component: ajax Version: 1.3.2
Keywords: ie content-type Cc:
Blocked by: Blocking:

Description (last modified by dmethvin)

There are a problem that arise from a difference in the HTTP headers sent to the server.

In firefox, an ajax request generates this header:

content-type: application/x-www-form-urlencoded; charset=UTF-8

In IE we have this:

content-type: application/x-www-form-urlencoded

There are already some reports about encoding problems when using ajax, specially in Internet Explorer. Tickets #3611 (and the duplicates #4315 and #4408) are related to this, however they are about the serialization of the data, not about the headers. Ticket #4855 may be related too, but is a different issue.

So, I think that we should have, at least by default, to add the missing "; charset=UTF-8" in the content-type header of the IE's XMLHttpRequest. This would reduce encoding problems encountered by developers and users giving the possibility of more and better solutions and workarounds for the remanescent ones. This plays better with jQuery compatibility between different browsers too.

Change History (3)

comment:1 Changed 14 years ago by dmethvin

Component: unfilledajax
Description: modified (diff)
Keywords: ie content-type added

comment:2 Changed 13 years ago by snover

Resolution: wontfix
Status: newclosed

Firefox is the only browser that appends a charset to the header. Your application should assume content without an explicit character set is being transmitted as UTF-8. Alternatively, use the contentType option of the ajax settings object to force the charset yourself.

Last edited 13 years ago by snover (previous) (diff)

comment:3 Changed 13 years ago by hminaay

Chrome also appends it. This should be fixed to include the chartset.

Note: See TracTickets for help on using tickets.