Sto cercando di inviare i dati al servlet utilizzando HTTP POST angolare,angolare richiesta HTTP post - No 'Access-Control-Allow-Origin' intestazione è presente la risorsa richiesta
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;
})
}
ma sono continuare a errore che Nessuna intestazione 'Access-Control-Allow-Origin' è presente sulla risorsa richiesta. L'origine 'null' non è quindi consentita l'accesso.
avevo impostato seguenti intestazioni sul mio servlet
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");
Se rimuovo i dati da inviare http funziona benissimo, ma senza fortuna con i dati.
controllare lo stato e le intestazioni di risposta della richiesta OPZIONI effettuate. Queste intestazioni di controllo di accesso devono essere in quella richiesta di preflight – charlietfl
Ho avuto lo stesso problema e ho risolto utilizzando 'response.setHeader (" Access-Control-Allow-Origin "," * ");' invece di 'response.addHeader ("Access-Control-Allow-Origin", "*"); '. Se si utilizza il metodo 'addHeader', consente molti valori alla stessa intestazione in base all'API. Vedi [javadoc] (http://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponse.html#addHeader-java.lang.String-java.lang.String-). –
@charlietfl ha aggiunto l'immagine dell'intestazione della risposta di rete. – Nomad