2016-07-05 3 views
1

hatte viele Foren durchlaufen, auch in Stackoverflow für eine Problemumgehung für den Fehler: XMLHttpRequest kann Datei nicht laden: /// .. .. Cross-Ursprungsanforderungen werden nur für Protokollschemata unterstützt: http, data, chrome, chrome-extension, https, chrome-extension-resource.

Zwar gibt es Lösungen, wie mit Node.js, App und Quelle muss in einem HTTP-Server gehostet werden, muss ich eine Abhilfe, so dass ich meine $ http get() in lokalen testen konnte.

Ich habe auch versucht, beginnend mit Chrome --allow-Datei-Zugriff-von-Dateien --disable-web-Sicherheit, aber kein Glück.

Also, kann mir jemand helfen, meine $ http Get() in lokalen ohne Server? Oder ist es zwingend erforderlich für einen Server zu gehen?

Unten ist mein Code.

app.factory('jsonFactory', function($http) { 
var obj = {}; 
$http.get("response.json").then(function (response) { 
    obj = response.data; 
}); 
return { 
    get: function() { 
     return obj; 
    } 
};}); 
+0

Installieren Sie einfach einen Server. Das löst * alle * Probleme, die entstehen, wenn man sich ohne eine Entwicklung entwickelt und dann auf eine solche Anwendung umstellt. – Quentin

+0

@ Quentin: Ja du hast Recht! Aber ich habe eine Anforderung, dass ich Server nicht verwenden sollte. –

Antwort

1

mit einem reinen Javascript Versuchen filereader

function readSingleFile(e) { 
 
    var file = e.target.files[0]; 
 
    if (!file) { 
 
    return; 
 
    } 
 
    var reader = new FileReader(); 
 
    reader.onload = function(e) { 
 
    var contents = e.target.result; 
 
    displayContents(contents); 
 
    }; 
 
    reader.readAsText(file); 
 
} 
 

 
function displayContents(contents) { 
 
    var element = document.getElementById('file-content'); 
 
    element.innerHTML = contents; 
 
} 
 

 
document.getElementById('file-input') 
 
    .addEventListener('change', readSingleFile, false);
<input type="file" id="file-input" /> 
 
<h3>Contents of the file:</h3> 
 
<pre id="file-content"></pre>

Snippet @How to open a local disk file with Javascript? sehen.

Wissen, dass es in einer eckigen App schrecklich aussieht. Kein Projektmanager würde diese Anforderung durchsetzen.

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/12909168) –

+1

@ JonathanArgentiero, richtig Ich habe das Snippet zu der Antwort hinzugefügt, aber wiederholt für die Beantwortung einer Frage downvoted mich nicht motiviert, weitere Fragen zu beantworten oder sogar zu behalten diese Antwort live. Ich lasse die Frage lieber unbeantwortet ... – gyc

+1

@gyc, jedenfalls hat deine Antwort mir eine Lösung geliefert. Wee, würde ich den "Inhalt" zu Json analysieren und würde es an die Ansicht binden. Danke! Motiviert sein! :-) –

Verwandte Themen