Zum Inhalt springen

CORS - Erfahrungsbericht Implementierung?


Empfohlene Beiträge

Geschrieben

Hallo zusammen.

Ich habe momentan ein echtes Problem, das ich auf teufel-komm-raus nicht gelöst bekomme.

Wir haben einen cms-server auf dem sind verschieden Webscripte gelagert, die man per XMLHttpRequest über unsere (momentan auf localhost) liegende Webseite ansprechen kann.

Als Beispiel wäre hier z.B. man gibt in einem Textfeld einen Dateinamen an, unser cms-Server sucht diesen und gibt den Inhalt als Text zurück.

Das Problem hierbei ist wie im Titel schon beschrieben das CORS-Problem.

Ich bekomme es einfach nicht hin.

Es gibt da ja Lösungsmöglichkeiten nur bekomme ich die nicht implementiert:

z.B.

response-header hinzufügen


arg1.addHeader("Access-Control-Allow-Headers", "Content-Type, *");

arg1.addHeader("Access-Control-Allow-Origin", "http://localhost");

arg1.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS");

arg1.addHeader("Access-Control-Allow-Credentials", "true");

oder json-p (unschön da keine POST-Möglichkeit):

 $.ajax({

                    // ... Use the AJAX utility as you normally would

                    url : 'http://xxxx:8080/xxx/xxx/xxx/createUser',

                    data: encodedFile,

                    dataType: 'jsonp',

                    success:function(data_response){

                    	output.textContent=data_response;

    				}

                });

Beide ansätze funktionieren nicht. Bzw ich implementiere sie höchstwahrscheinlich falsch (bzw da das cms-Webscript eine cms-eigene Klasse ist denke ich wird da wohl eher in dieser Lösung das Problem liegen)

Nun meine Frage.

Hat das mal wer !erfolgreich! implementiert und kann mir dabei helfen?

Für jede Antwort wäre ich dankbar.

Mfg Chris

Gast runtimeterror
Geschrieben

Ich weiß nicht, ob das noch aktuell ist, aber ich versuch mich mal dran :)

Was ich nicht herauslesen konnte:

Funktioniert der Request nicht?

Kommt der Request beim Server nicht an?

Kommt die Response beim Client nicht an?

Oder ist es genau andersherum und es wird kein Zugriff geblockt, obwohl es das sollte?

Der Server ist in Java implementiert, der Client als JavaScript?

CORS soll (wenn ich mich auf die Schnelle richtig informiert habe) den Zugriff eines Clients auf Resourcen des Servers B ermöglichen, obwohl die Website von Server A ausgeliefert wurde. Ich sehe in deiner Beschreibung nur einen Server auf localhost ...

Hast du mal versucht alles zu erlauben (z.B. "Access-Control-Allow-Origin: *")

Gruß,

Kai

Geschrieben

Hallo runtimeterror.

Um ganz kurz auf deine Frage einzugehen:

Der Request wird Clientseitig an einen Webserver in einer anderen Domäne geschickt. Localhost nach xxx.xxx.xx.xxx daher das Cross Domain Problem.

Ich hatte jetzt aber 2 Wochen lang Kontakt mit dem Support-Team des cms was wir benutzen und da hat sich rausgestellt das default mäßig CORS erstmal nicht erlaubt sind.

Es gab aber (nicht dokumentiert,top!!!) eine Option um diese wieder zu erlauben. Und dann "oh Wunder" hat es bumm gemacht und es funktioniert :)

Aber danke für deinen Post.

Mfg

Chris

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...