jQuery Ajax-Anfrage aus dem lokalen Dateisystem (Windows-file:///)
Ich versuche zu tun, ein ajax-request, um die Inhalte der "http://localhost/"
läuft auf Windows Wamp-Server.
Das Skript ausgeführt wird, von so etwas wie dieses:
file:///C:/my/path/index.html
Ich bin nur mit einem standard -$.ajax-request, um zu versuchen und erhalten Sie den Inhalt von localhost:
$.ajax({
type: 'GET',
url: 'http://localhost/',
success: function(data) {
alert('success');
}, error: function (data) {
alert('failed');
}
});
Ich kann es nicht erhalten, um erfolgreich zu sein, obwohl... Scheint ein problem mit dem lokalen filesystem oder sowas. Ich bin mir auch nicht sicher.
Probieren Sie es einfach
NÖ, weder diese Arbeit
Können Sie direkt auf die url zugreifen? Bekommst du eine Fehlermeldung in der js-Konsole?
Ja, der Zugriff auf die url direkt ist in Ordnung. Ich bekomme diese Fehlermeldung
Der zweite ist der Fehler Chrome gibt, wenn Sie versuchen, eine AJAX-Anfrage von einem
/
für die url, dann versuchen /index.html
NÖ, weder diese Arbeit
Können Sie direkt auf die url zugreifen? Bekommst du eine Fehlermeldung in der js-Konsole?
Ja, der Zugriff auf die url direkt ist in Ordnung. Ich bekomme diese Fehlermeldung
Uncaught TypeError: Property 'responseText' of object #<Object> is not a function
ich bekomme auch diese Fehlermeldung, wenn Sie versuchen, die http:// XMLHttpRequest cannot load http://localhost/. Origin null is not allowed by Access-Control-Allow-Origin.
Der zweite ist der Fehler Chrome gibt, wenn Sie versuchen, eine AJAX-Anfrage von einem
file:///
URL.
InformationsquelleAutor Emmanuel | 2011-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem Gelöst!
Ich nur hatte, um diese header zu meiner index.php Datei http://localhost/
header('Access-Control-Allow-Origin: *');
Danke für deine Hilfe jedenfalls!
Ich bin mir nicht sicher, genau Ihre situation... vielleicht ist der header "Access-Control-Allow-Origin" könnte Hinzugefügt werden, über apache (.htaccess) oder eine andere server-config-Dateien? Ich bin mir nicht sicher. Ich weiß nicht, einen anderen Weg zu tun, cross-server - /Protokoll-Anforderungen wie diese.
InformationsquelleAutor Emmanuel
Sagen Sie, dass das Skript ausgeführt wird, aus einer
file:///
URL. Es ist am besten, nicht zu tun, AJAX-Anfragen ausfile
URLs, weil Sie behandelt werden, uneinheitlich. Chrome, zum Beispiel, ganz verbietet Ihnen.Aber dein größeres problem ist hier das gleiche-origin-policy: Sie kann nur die AJAX-Anfragen, die auf dem gleichen host wie die web-Seite selbst.
file:///
undhttp://localhost
sind nicht dem gleichen host (auch wenn Sie die gleiche Maschine).Es ist am besten, um alles aus
http://localhost
.InformationsquelleAutor lonesomeday
Diese wahrscheinlich nicht funktionieren, da der browser wird denken, dies ist ein cross-domain-Anfrage. Sie haben Zugriff auf die Datei über file://URL, sondern versuchen, abrufen von Daten aus http://localhost. Versuchen Sie Zugriff auf Ihre original-Datei aus http://localhost als gut, und Sie werden wahrscheinlich beginnen zu arbeiten.
dein code oben zeigt Sie mit dem url, aber hier sind Sie, dass Sie mit dem Datei Pfad. Welche ist es?
der ajax request ausgeführt wird, file:///etc... und versuchen, den Inhalt der url
http://:localhost/
. Jedenfalls, siehe unten meine Antwort...InformationsquelleAutor Rob Williams