2012-04-03 8 views
0

Ich habe eine HTML-Seite, die eine dynamisch erstellte asp/aspx Seite auf http://host2.mydomain.com ist. Ich habe keine Kontrolle über die HTML-Seite. Ich kann das nicht ändern. Ich kann diese Seite nicht ändern. Das Setzen von document.domain kommt leider nicht in Frage. Diese HTML-Seite wird von einem Drittanbieter kompiliert und der Code ist close-source; Ich kann es nicht sehen oder ändern. Ich möchte diese Seite auf http://host1.mydomain.com/page1.jsp mit Ajax abrufen und anzeigen.Wie kann ich html/asp/aspx Seite auf verschiedenen Hosts mit jQuery ajax abrufen und anzeigen?

FYI: Host1 wird von IIS 7 und Apache Tomcat (für JSP-Seiten) bedient. Und Host2 verwendet IIS 7 und ASP.

Wie kann ich diese Seite mit einer Ajax POST-Anfrage abrufen?

Vielen Dank.

Antwort

1

Sie können mit einem Standard-AJAX-Aufruf nicht aufgrund domänenübergreifenden Richtlinien, würden Sie JSONP oder eine Form von JSONP http://en.wikipedia.org/wiki/JSONP

auch verwenden, eine gemeinsame „Gotcha“ ist, dass die Cross-Domain-Richtlinien verhindern Sie auch sichere und nicht sichere Ajax. So eine https:// Seite kann keine http:// Seite und umgekehrt anfordern/

+0

Vielen Dank für Ihre Hilfe. Unglücklicherweise ist JSONP für mich keine Option, da ich die HTML-Seite nicht von der ASP-Seite aus bearbeiten kann. (Komplizierend ist, dass ein Host JSP ist und der andere ASP). – user717236

1
+0

Vielen Dank für Ihren Vorschlag. Funktionieren diese Methoden, obwohl ich keine Kontrolle über die HTML-Seite auf host2.mydomain.com habe und sie nicht zum Codieren/Decodieren von JSONP entwickelt wurde? – user717236

+1

verwenden Sie 'YQL'. Es gibt vollständige HTML der angeforderten Seite zurück –

+0

Vielen Dank. Was ist mit JSONP? Ich dachte JSONP ist nur nützlich, wenn die angeforderte Seite weiß, dass sie JSONP verschlüsseln muss. Ist das korrekt? – user717236

1

Durch die Einstellung richtige CORS-Header, wenn Sie modernen Browser verwenden. Werfen Sie einen Blick here

+0

Vielen Dank. – user717236

1

Sie sind nur über Sub-Domains gehen so tun können, es einen Iframe verwenden, suchen auf diese Frage - A question about cross-domain (subdomain) ajax request

Die Lösung verwiesen: http://www.tomhoppe.com/index.php/2008/03/cross-sub-domain-javascript-ajax-iframe-etc/

+0

Vielen Dank für Ihre Hilfe. Dies wäre eine großartige Lösung, wenn ich beide Seiten ändern könnte; Wie ich jedoch in der Frage gesagt habe, habe ich keinen Zugriff auf die HTML-Seite. – user717236

+1

Könnten Sie einfach nicht Ajax verwenden und lieber die erste Seite als Iframe auf der zweiten Seite einfügen? –

+0

Ich könnte aber das Problem, das ich damit habe, ist außerhalb des Bereichs der Frage, die ich gestellt habe. Vielen Dank für Ihren Vorschlag. – user717236

1

Sie schreiben ein serverseitiges Skript zum Abrufen der Seiteninhalt, dann verwenden Sie Ajax, um Ihr Skript anzufordern

+0

Vielen Dank für Ihren Vorschlag. Wie kann das aber gemacht werden? Eine Box ist IIS/Tomcat und die andere ist IIS/ASP. Wie kann ich ein Java/JSP-Skript schreiben, das mit der IIS/ASP-Box kommuniziert und dessen dynamisch erzeugte HTML-Seite aufruft? Ich würde zumindest eine Art Web-Service brauchen, der Anfragen von jeder Box abgibt. – user717236

+1

Hallo, tut mir leid, ich fürchte, ich kann dir nicht helfen! Ich bin ein PHP-Entwickler, ich habe keine Ahnung, wie es sonst geht – skafandri

+0

Ja, PHP ist meine Stärke, auch. Ich bevorzuge es.Vielen Dank für Ihre Hilfe. – user717236