Der Accept HTTP-Header kann mit jQuery nicht ordnungsgemäß festgelegt werden
Ich versuche, den Accept HTTP-Header mit diesem JQuery-Code auf "text / xml" zu setzen:
$.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());
}
});
In Firefox funktioniert es großartig.
Im Internet Explorer wird der Wert, den ich für den Accept-Header festlegen möchte, an das Ende angehängt.Accept: */*, text/xml
. Dies bewirkt, dass mein Ajax-Aufruf die HTML-Version im Gegensatz zur gewünschten XML-Version zurückgibt.
Weiß jemand, wie man den Accept-Header in IE 8 richtig setzt / löscht?
Aktualisiert: Aus irgendeinem Grund wurden die Sternchen nicht angezeigt, als ich sie eingegeben habe. Der Accept Header im IE sieht folgendermaßen aus:Accept: */*, text/xml
.