Warum ist ExtJS senden Sie eine OPTIONS-Anfrage zu der gleichen Domäne?
Ich bin laden meine Skript auf einer domain und sendet einige Daten mit POST
und die Verwendung von Ext.Ajax.request()
zu dieser Domäne.
Irgendwie die dev-tools zeigen mir, dass es ein gescheiterter OPTIONS
Anfrage.
Request URL : myurl-internal.com:8090/some/rest/api.php
Request Headers
Access-Control-Request-Headers : origin, x-requested-with, content-type
Access-Control-Request-Method : POST
Origin : http://myurl-internal.com:8090
Es ist HTTP und nicht HTTPS. Gleicher port, gleicher host ... ich weiß nicht, warum es ist, dies zu tun.
Die server können nicht mit solchen Zeug und so schlägt die Anforderung fehl, und das ganze system nicht mehr funktioniert.
- Zeigen Sie Ihre aktuelle code, oder etwas, um es zu schließen.
InformationsquelleAutor K.. | 2012-09-04
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht wirklich spezifisch für Ext JS -- siehe diese verwandten threads gegenüber anderen frameworks. Es ist der server ordnungsgemäß mit der Durchsetzung der CORS standard:
Wenn du gehst zu verwenden, CORS, Sie müssen in der Lage sein, entweder richtig behandeln oder ignorieren diese Anfragen auf dem server. Ext JS selbst kümmert sich nicht um das OPTIONEN-Anforderungen-Sie erhalten die Antworten, wie erwartet, aber es sei denn, Sie etwas mit Ihnen zu tun Sie werden nur ignoriert werden (vorausgesetzt, die server können, was Sie zu tun versuchen).
Wenn Sie NICHT beabsichtigen zu verwenden CORS (das klingt wie Sie nicht gezielt gehen cross-domain), dann müssen Sie herausfinden, warum der server denkt, der ursprünglichen Domäne zu einer anderen (ich bin mir nicht sicher). Könnte man auch umgehen, CORS zusammen durch Verwendung von JsonP (über Ext ist JsonP-proxy).
http://
am Anfang. Wenn ich es geändert, derOPTIONS
Anfrage verschwunden...Relative url anstelle der absoluten, dann erhalten Sie das erwartete Ergebnis.
vor der Benutzung auf Anfrage