it-swarm.com.de

Jquery lädt https-URL

Ich habe dieses Problem. In einer externen Website habe ich ein Skript wie folgt:

<div id="idtest"></div>
<script src="//example.com/widget.js" type="text/javascript"></script>

example.com ist in https (erlaubt sowohl http als auch https). Auf dem Server im Skript widget.js habe ich:

 $('#idtest').load("https://example.com/index.html")

Ich erhalte diese Fehlermeldung: Gemischter Inhalt: Die Seite bei 'thepage' wurde über HTTPS geladen, forderte jedoch einen unsicheren XMLHttpRequest-Endpunkt ' http://example.com/index.html ' an. Diese Anfrage wurde blockiert. Der Inhalt muss über HTTPS bereitgestellt werden.

Ich verstehe nicht: warum der Fehler und warum der Endpunkt in "http" ist? Vielen Dank

BEARBEITEN

Mehr Informationen: 

wenn in der widget.js mache ich das:

 $('#idtest').load("./index.html")

der Inhalt wird geladen und alles funktioniert perfekt, wenn ich das Skript in meine Site lade. 

Wenn ich so etwas mache:

 x = "https://example.com"
 $('#idtest').load(x + "/index.html")

oder 

 $('#idtest').load("https://example.com/index.html")

Ich erhalte den Fehler (wenn ich das Skript in meine Site oder in eine externe Site stecke). Warum?

BEARBEITEN 2

mehr Informationen:

meine Website ist in Django 

BEARBEITEN 3

In Firefox lade ich die Seite in https und http. In Chrome funktioniert das nicht. Ich sehe diese Situation im Firefox Net Analyzer beim Aufruf der URL:

302 https://example.com/index.html 200 http://example.com/index.html [gemischter Inhalt]

Was versteht diese Situation (https zu http)? Könnte ein Django-Weiterleitungsproblem sein?

7
RoverDar

A Fehler bei gemischtem Inhalt tritt auf, wenn:

  • sie versuchen, sichere Inhalte SSL (https) auf eine Seite zu laden, die unsicher (http) geliefert wird

Oder das Gegenteil

  • sie versuchen, unsicheren Inhalt (http) auf eine Seite zu laden, die sicher SSL (https) geliefert wird

Ihre Fehlermeldung warnt, dass Ihre aufrufende Seite im unsicheren Modus geladen wurde.

Sie haben dies nicht explizit erklärt, aber Ihr Fehler zeigte an, dass Ihre Seite ohne SSL geliefert wird. Wenn Sie versuchen, eine geschützte Ressource zu laden, wird dies zu einem Mischmodus Problem geschützter Ressourcen und unsicher.


Wenn möglich, versuchen Sie, die Referenzdatei auf dieselbe Weise bereitzustellen.

  • Sie können Ihre Hauptseite in SSL (https) bereitstellen.

  • Sie können die Teilseite in http anfordern.

    $ ('# idtest'). load (" http://example.com/index.html ")

oder

  • So wie Sie es gelöst haben, fordern Sie die Teilseite ohne Protokoll an. Nun wird Ihre geladene Datei mit dem von Ihrer Seite verwendeten Protokoll geladen.

Über Ihre spezifische Ressource:

Ich habe versucht zu laden:

http://example.com/index.html

und

https://example.com/index.html

Das Ergebnis war das gleiche. Ich habe eine einfache Seite mit der Nachricht erhalten:


Beispiel Domain

Diese Domäne wird für illustrative Beispiele in Dokumenten verwendet. Sie können diese Domain in Beispielen verwenden, ohne vorher eine Koordination zu haben oder um Erlaubnis zu bitten.

Mehr Informationen...

12
Dave Alperovich

Ich denke, es ist eher ein Problem der Cross-Origin-Domäne. 

die $ .load-Funktion von jquery verwendet ajax, um die URL zu laden. Sie können also keinen domänenübergreifenden Aufruf durchführen, wenn die Ziel-URL keine CORS-Header implementiert.

In Ihrem Beispiel muss der Server example.com einen Header zurückgeben

Access-Control-Allow-Origin: *

Sie können auch * durch die Domäne der Seite ersetzen, die den Inhalt von AJAX laden soll.

Ein guter Blogbeitrag zur Verwendung von CORS: http://www.html5rocks.com/de/tutorials/cors/

1
Julien Bachmann

Ich hatte dieses Problem auf der Ruby on Rails-Webseite und der Fehler bestand darin, "_url" -Helfer anstelle von "_path" -Helfer auf einer https-Webseite zu verwenden:

in einer Ansicht : falsch: borrar_linea_factura_url(l)

ok: borrar_linea_factura_path(l) 

Als Rückblick auf das vorher Gesagte:

"_url" -Helfer generiert /controller/action/params 

"_path" -Helper generiert https://controller/action/params

0
Albert Català