[jQuery] AJAX beforeSend setRequestHeader problem with IE

[jQuery] AJAX beforeSend setRequestHeader problem with IE


I have the following code to force the HTTP_ACCEPT header when doing
ajax calls so that my Rails app can properly interpret the request
using it's respond_to block:
$.ajaxSetup({
    beforeSend: function(xhr) {xhr.setRequestHeader("Accept", "text/
javascript");}
});
This is working fine with Firefox, however with IE 6 or 7 the new
Accept header is being appended to the end of the HTTP_ACCEPT string
instead of replacing it, so it now becomes: "text/html, */*, text/
javascript". The problem with this is that the Rails respond_to block
will intercept the request as html first so it won't reach the JS or
XML blocks.
For the moment I have a before_filter in my Rails app to set the
correct header, but that's too hackish for my liking.
Has anyone come across this or are there any suggested work arounds?