it-swarm.com.de

Das Abrufen der Anforderung besteht die Zugriffskontrollprüfung nicht: In der angeforderten Ressource ist kein Header 'Zugriffskontrolle-Zulassen-Ursprung' vorhanden

Ich versuche, von meiner Anwendung aus eine Ajax-Anfrage an einen Tomcat-Server zu senden, erhalte jedoch die folgende Fehlermeldung (meine Web-App wird unter Chrome ausgeführt):

Die Antwort auf die Preflight-Anforderung besteht die Zugriffskontrollprüfung nicht: In der angeforderten Ressource ist kein Header 'Zugriffskontrolle-Zulassen-Ursprung' vorhanden. Origin 'null' ist daher nicht zugänglich. Die Antwort hatte den HTTP-Statuscode 403.

Ich habe versucht mit

'Access-Control-Allow-Origin' : 'http://localhost:8080/app',

aber es hat nicht funktioniert.

Mein Ajax-Code:

 var arr = [1];
   $.ajax({ 
   url: 'http://localhost:8080/app',
   type: 'POST',
   contentType:'application/json',
   headers: {
   'Access-Control-Allow-Origin' : 'http://localhost:8080',
   },
       data: JSON.stringify(arr[0]),
       success: function(data){
        //On ajax success do this
             alert(data);
          }
     });
57
Labeo

Um domänenübergreifende AJAX) Anfragen zu stellen, sollte der angeforderte Server die gemeinsame Nutzung von Ressourcen (CORS) über Ursprungsgrenzen hinweg ermöglichen. Weitere Informationen hierzu finden Sie hier: http://www.html5rocks.com/de/tutorials/cors/

In Ihrem Szenario setzen Sie die Header im Client, die tatsächlich in http: // localhost: 8080/app serverseitigem Code gesetzt werden müssen.

Wenn Sie PHP Apache-Server verwenden, müssen Sie Folgendes in Ihre .htaccess - Datei einfügen:

Header set Access-Control-Allow-Origin "*"
33
Chandan

Im Falle einer Anfrage an einen REST Service:

Sie müssen das CORS (Cross-Origin-Sharing von Ressourcen) auf dem Endpunkt Ihres REST Service mit Spring-Annotation zulassen:

@CrossOrigin(origins = "http://localhost:8080")

Sehr gutes Tutorial: https://spring.io/guides/gs/rest-service-cors/

10
L01c