Ich habe eine Ember-Anwendung und ich versuche, eine DELETE-Anfrage auf 'klicken' von a Komponente (an die Route gesendet). Der Server hat einen anderen Port als die Benutzerschnittstelle.Ember AJAX DELETE Aufruf von verschiedenen Port bekommen "Nein 'Access-Control-Allow-Origin' Header ist auf der angeforderten Ressource vorhanden"
Dies ist die Ajax-Anforderung auf der Strecke:
deleteAlert(alert) {
let self = this;
Ember.$.ajax({
url: 'http://example.com:4320/data/alerts/' + alert.id,
type: 'DELETE',
beforeSend: function(request)
{
request.setRequestHeader("Access-Control-Allow-Origin","example.com:4301");
request.setRequestHeader("Access-Control-Allow-Methods","GET,POST,OPTIONS,PATCH,DELETE,PUT");
},
success: function (response) {
if(response.status==='Success!') {
Ember.Logger.log(response);
}
},
error: function(jqXHR, textStatus, errorThrown) {
Ember.Logger.error(textStatus, errorThrown, jqXHR);
}
});
ich die folgende Störung erhalte, aber:
XMLHttpRequest cannot load http://example.com:4320/data/alerts/252. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com:4301' is therefore not allowed access. The response had HTTP status code 404.
Ich habe auch versucht, "*" auf die ‚Access-Control Hinzufügen "Null-Origin" -Header sowie Definition der Header auf folgende Weise (außerhalb der Funktion "vor dem Senden"):
deleteAlert(alert) {
let self = this;
Ember.$.ajax({
url: 'http://example.com:4320/data/alerts/' + alert.id,
type: 'DELETE',
headers: {
'Access-Control-Allow-Origin':'http://example.com:4301',
'Access-Control-Allow-Methods':'GET,POST,OPTIONS,PATCH,DELETE,PUT',
},
success: function (response) {
if(response.status==='Success!') {
Ember.Logger.log(response);
}
},
error: function(jqXHR, textStatus, errorThrown) {
Ember.Logger.error(textStatus, errorThrown, jqXHR);
}
});
Gleicher Fehler.
Ist das etwas, das auf der Serverseite behoben werden muss? Ich habe keine Probleme mit POST oder GET-Anfragen, nur DELETE bis jetzt.
Jede Hilfe wird geschätzt!
Verschiedene Häfen bedeuten unterschiedliche Herkunft, deshalb beschweren sie sich. Es ist in der Tat etwas, was Sie Server-Seite beheben müssen, versuchen Sie die Ressourcen auf http://enable-cors.org/. – locks