Nie można poprawnie ustawić nagłówka HTTP Accept za pomocą jQuery
Usiłuję ustawić Accept HTTP header na „text / xml” z tym kodem jquery:
$.ajax({
beforeSend: function(req) {
req.setRequestHeader("Accept", "text/xml");
},
type: "GET",
url: "[proper url]",
contentType: "text/plain; charset=utf-8",
dataType: ($.browser.msie) ? "text" : "xml",
username: '---',
password: '-------',
success: function(data) {
var xml;
if (typeof data == "string") {
alert("Data is string:" + data);
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
alert("Data is not string:" + $(xml).text());
}
// Returned data available in object "xml"
//alert("Status is: " + xml.statusText);
$("#ingest_history").html($(xml).text());
}
});
W Firefox działa świetnie.
Ale w IE wartość, którą próbuję ustawić dla nagłówka Accept, wydaje się być dołączana na końcu, więc staje się:Accept: */*, text/xml
. Powoduje to, że moje wywołanie ajax zwróci wersję html w przeciwieństwie do wersji XML, którą chcę.
Czy ktoś wie, jak poprawnie ustawić / wyczyścić nagłówek Accept w IE 8?
Zaktualizowano: Z jakiegoś powodu gwiazdki nie pojawiły się, gdy je wprowadzałem. Akceptowany nagłówek w IE wygląda na:Accept: */*, text/xml
.