Ajax ruft Subdomäne auf

9

Ich habe einen Server unter example.com, der Apache ausführt und meine statischen HTML-Dateien bedient.

Ich habe auch einen JSON-Dienst, der sich auf api.example.com befindet und Python mit cherrypy ausführt.

Der Benutzer fordert example.com an und ruft die Index-HTML-Seite ab. Auf dieser Seite mache ich eine Ajax-Anfrage mit jquery an den json-Dienst. document.domain gibt example.com

zurück %Vor%

Ich kann jedoch den Antworttext für die Ajax-Anfrage in Firebug nicht sehen. Dies führt zu der Annahme, dass der Browser (FF) dies nicht unterstützt.

Was sind die besten Methoden, um dies zu erreichen? Ich würde es vorziehen, wenn möglich keine Proxying auf dem Apache-Backend für example.com zu verwenden.

    
Baversjo 28.06.2010, 14:18
quelle

5 Antworten

4

Sie können JSONP auch verwenden, indem Sie callback =? bis zum Ende der URL. jQuery weiß bereits, wie diese Art von Anfragen gehandhabt wird, aber es sind einige serverseitige Änderungen erforderlich, um den Callback-Parameter zu behandeln.

    
Rob 28.06.2010, 14:40
quelle
0

AJAX-Anfrage wird nur für dieselbe Domain unterstützt. Sie können jedoch einen HTTP-Proxy in Ihrer bevorzugten Skriptsprache schreiben und Aufrufe an diesen HTTP-Proxy vornehmen. Sie können dieses kleine Tutorial auf einem in php geschriebenen AJAX-Proxy lesen .

    
Bogdan Constantinescu 28.06.2010 14:26
quelle
0

Versuchen Sie, Ihre Domain in Ihrer Subdomain wie diese zu ändern

%Vor%

Wenn das nicht funktioniert, ändern Sie auch Ihre document.domain auf Ihrer Domain-Seite.

    
eos87 28.06.2010 14:32
quelle
0

Soweit ich weiß, können Sie keine AJAX Cross-Domain machen.

Warum ist das domainübergreifende Ajax ein Sicherheitsrisiko? >

Obwohl ich denke, dass Sie eine IFRAME-Problemumgehung machen könnten

Cross Sub Domain Javascript

    
SAGExSDX 28.06.2010 14:24
quelle
-1

Verwenden Sie document.domain, um die Domäne zu der Domäne der obersten Ebene anstelle der Subdomäne zu machen.

%Vor%

Dies ist im MDN ausführlich beschrieben .

    
Russell Leggett 28.06.2010 14:32
quelle