Ember 응용 프로그램이 있는데 다음에서 '클릭'요청에 대한 삭제를 시도하고 있습니다. 구성 요소 (경로로 보냄). 서버가 사용자 인터페이스와 다른 포트에 있습니다. 그러나,다른 포트에서 Ember ajax DELETE 호출 요청한 리소스에 "No 'Access-Control-Allow-Origin'헤더가 있습니다."
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);
}
});
나는 다음과 같은 오류가 점점 오전 :
이
은 노선에 아약스 요청입니다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.
나는 또한 '액세스 제어에 "*"를 추가 시도 -Allow-Origin '헤더뿐만 아니라 다음과 같은 방법으로 헤더를 정의 할 수 있습니다 (beforeSend 함수 외부에서) :
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);
}
});
같은 오류.
서버 측에서 수정해야하는 항목입니까? POST 또는 GET 요청에 문제가 없으며 지금까지는 삭제 만합니다.
도움을 주시면 감사하겠습니다.
포트가 다르다는 것은 다른 출발점을 의미하기 때문에 불평합니다. 실제로 서버 측을 수정하는 데 필요한 것이므로 http://enable-cors.org/에서 리소스를 확인해보십시오. – locks