Ich benutze Jersey als meine erholsame API-Implementierung. Im Frontend verwende ich angularjs $ http-Service, um http-Anfragen zu stellen. Wenn ich eine Löschmethode anfordere, habe ich immer einen Fehler unterschritten.Always hole Methode DELETE ist nicht erlaubt von Access-Control-Allow-Methoden in Preflight-Antwort
Ich lese einige Artikel und sie sagen, ich muss löschen auf "Access-Control-Allow-Methoden" zulassen. Ich habe den Antwortfilter wie folgt eingerichtet, aber es hat immer noch ein solches Problem. Was soll ich sonst machen?
@Provider
public class CORSResponseFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
MultivaluedMap<String, Object> headers = responseContext.getHeaders();
headers.add("Access-Control-Allow-Origin", "*");
headers.add("Access-Control-Allow-Methods", "*");
}
}
unten ist mein Winkel Code, um die Anfrage zu machen:
$http({
method: 'DELETE',
url: remoteUrl,
headers : {'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
'ACCESS_TOKEN' : $cookieStore.get("access_token")
},
data : $httpParamSerializer({
'id':id
})
}).success(function(data,status,headers,config) {
$scope.refreshDepartments();
console.log(data);
alert("success");
}).error(function(data,status,headers,config){
console.log(data);
alert("error");
});
Haben Sie den Anbieter in Ihrer 'web.xml'- oder Anwendungsklasse registriert? – Casey
Ich benutze Spring-Boot und es funktioniert für andere Methode wie GET, POST. Nur gescheitert auf DELETE –