Ich habe eine API ich mit, dass erfordert einen benutzerdefinierten Content-Type-Header gesetzt werden, wobei der Wert text/xmlmc
Einstellen eines individuellen Content-Type xmlhttprequest
ich diese
Xmlmc.prototype.submitRequest = function (request,callback) {
var self = this;
var port = portMap[request.service] || 5015;
var endpoint = this.endpoint = 'http://' + this.server + ':' + port;
var xml = request.toXml();
var xhttp;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else {
// IE 5 and 6 makes us sad. Please don't use it
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
//handle request
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4) {
var response = self.handleResponse(xhttp);
callback(response);
}
};
xhttp.open('POST',endpoint,true);
xhttp.setRequestHeader('Content-type', 'text/xmlmc');
//xhttp.setRequestHeader('Content-length', xml.length.toString());
if(this.sessionCookie != '') {
xhttp.setRequestHeader('Cookie', this.sessionCookie);
}
xhttp.send(xml);
};
wie so implementiert haben zu Schnittstelle versuche
der Endpunkt ist localhost:5015
Wenn ich das tue, die Anforderung fehlschlägt und nie sendet sogar. Wenn ich einen Standardanforderungsheader wie 'text/plain'
verwende, wird die Anforderung gesendet, aber ein Statuscode von 501 wird nicht implementiert zurückgegeben. Wie kann ich einen benutzerdefinierten HTTP-Header in einem xmlhttprequest festlegen?
"Die Konsole meldet, dass dies ein Cross-Origin-Problem ist" - Was haben Sie also getan, um es zu lösen? – Quentin
Es gibt viele SO-Fragen, die sich mit dem Umgang mit ursprungsübergreifenden Problemen befassen. Da Sie den Server steuern, sollten Sie in der Lage sein, den Header "Access-Control-Allow-Origin" zu verwenden, um ihn zu autorisieren. – Barmar
Entschuldigung, ich habe das Problem behoben, ich werde meine eigene Antwort posten und lösen – richbai90