próbuję wysłać dane do serwletu przy użyciu kątowej HTTP POST,kątowa żądania HTTP POST - Nie „Access-Control-Allow-Origin” header jest obecny na żądanego zasobu
var httpPostData = function (postparameters,postData){
var headers = {
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'POST, GET, OPTIONS',
'Accept': 'application/json'
};
return $http ({
method : 'POST',
url : 'http://localhost:8080/json/jasoncontroller',
params : postparameters,
headers: headers,
data : postData
}).success (function (responseData){
return responseData.data;
})
}
ale jestem dalej błąd, który wystąpił Brak nagłówka "Access-Control-Allow-Origin" na żądanym zasobie. Pochodzenie "null" jest zatem niedozwolone.
miałem ustawione następujące nagłówki na moim serwletu
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
response.addHeader("Access-Control-Max-Age", "3600");
response.addHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
Jeśli usunąć dane z HTTP POST działa dobrze, ale nie ma szczęścia z danymi.
sprawdź status i nagłówki odpowiedzi dla zgłoszonego żądania OPCJE. Te nagłówki kontroli dostępu muszą być w tym zgłoszeniu wstępnym. – charlietfl
Miałem ten sam problem i rozwiązałem go przy użyciu 'response.setHeader (" Access-Control-Allow-Origin "," * ");' zamiast 'response.addHeader ("Access-Control-Allow-Origin", "*"); '. Jeśli używasz metody 'addHeader', to pozwala ona wielu wartościom na ten sam nagłówek zgodnie z API. Zobacz [javadoc] (http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponse.html#addHeader-java.lang.String-java.lang.String-). –
@charlietfl dodano obraz nagłówka odpowiedzi sieci. – Nomad