Warum sendet ExtJS eine OPTIONS-Anfrage an dieselbe Domain?

8

Ich lade mein Skript auf eine Domain und sende einige Daten mit POST und die Verwendung von Ext.Ajax.request() an dieselbe Domain.

Irgendwie zeigen mir die Dev-Tools, dass eine OPTIONS Anfrage fehlgeschlagen ist.

%Vor%

Es ist sowohl HTTP als auch nicht HTTPS. Gleicher Port, gleicher Host ... Ich weiß nicht, warum es das tut. Der Server kann solche Sachen nicht verarbeiten und daher schlägt die Anfrage fehl und das ganze System funktioniert nicht mehr.

    
K.. 04.09.2012, 14:43
quelle

3 Antworten

9

Es ist nicht wirklich spezifisch für Ext JS - siehe diese verwandten Themen in anderen Frameworks. Es ist der Server, der den CORS Standard richtig durchsetzt:

  

für HTTP-Anfrage-Methoden, die Nebenwirkungen auf Benutzerdaten verursachen können (in   insbesondere für andere HTTP-Methoden als GET oder für die POST-Verwendung mit   bestimmte MIME-Typen), schreibt die Spezifikation diese Browser vor   "Preflight" die Anfrage, ersuchte unterstützte Methoden vom Server   mit einem HTTP-OPTIONS-Anfrage-Header und dann nach "Genehmigung" von   der Server, sendet die eigentliche Anfrage mit der eigentlichen HTTP-Anfrage   Methode.

Wenn Sie CORS verwenden möchten, müssen Sie diese Anforderungen auf dem Server entweder ordnungsgemäß behandeln oder ignorieren können. Ext JS selbst kümmert sich nicht um die OPTIONS-Anfragen - Sie erhalten die Antworten wie erwartet, aber wenn Sie nicht etwas mit ihnen machen, werden sie ignoriert (vorausgesetzt, der Server lässt tatsächlich zu, was auch immer Sie versuchen).

Wenn Sie NICHT CORS verwenden möchten (was so klingt, als würden Sie nicht absichtlich domänenübergreifend arbeiten), müssen Sie herausfinden, warum der Server die Ursprungsdomäne für unterschiedlich hält (da bin ich mir nicht sicher). Sie könnten CORS auch ganz umgehen, indem Sie JsonP (über den JsonP-Proxy von Ext) verwenden.

    
Brian Moeskau 27.09.2012, 05:50
quelle
3

Verwenden Sie relative URL statt absolute, dann erhalten Sie das erwartete Ergebnis.

    
Deepak More 22.10.2012 08:49
quelle
3

vor Anfrage verwenden

%Vor%     
RaviPatidar 14.10.2016 07:56
quelle

Tags und Links