2014-11-19 2 views
0

Я создаю то, что называется мини-одностраничным приложением, которое вся логика находится на стороне клиента, и я использую для этого Angular. моя проблема заключается в загрузке JSON-файла, который не хранится ни на одном сервере, а в моем дереве проектов - каждый раз, когда я пытаюсь загрузить файл, я получаю код ошибки 404.3 (с несколькими браузерами) - нет вопрос с моим вызовом, когда я попытался позвонить в файл JSON, который хранился на веб-сервере, и это сработало замечательно - проблема только в том, что я пытаюсь позвонить в локальный JSON. это мой призыв:Как загрузить локальный файл json в одностраничном приложении с angularjs

app.controller("myCtrl", function ($scope, $http) { 
$http.get('/Data/names.json') 
.success(function (data, status, header, config) { 
    console.log("file loaded"); 
    console.log(data); 
    console.log(status); 
    console.log(header); 
    console.log(config); 

}) 
.error(function (data, status, header, config) { 
    console.log("ERROR file didn't load"); 
    //console.log(data); 
    //console.log(status); 
    //console.log(header); 
    //console.log(config); 
}) 

});

решена путем добавления файла web.config в мой проект со следующими линиями:

<system.webServer> <staticContent> <mimeMap fileExtension=".json" mimeType="application/json" /> </staticContent> </system.webServer>

+1

Работает ли ваш СП как файл: //index.html? или это на веб-сервере, когда вы тестируете файл json? – Xenyal

+0

его не на веб-сервере, его работает как http: // localhost: 5497 – MoshMosh

+0

Как ваша функция получает «$ http»? Вы можете попробовать ввести «$ http» в функцию контроллера? Как app.controller («myCtrl», ["$ http", function (...) {}]); – Dinesh

ответ

0

решаемые путем добавления файла web.config в мой проект со следующими линиями:

<system.webServer> 
<staticContent> 
    <mimeMap fileExtension=".json" mimeType="application/json" /> 
</staticContent>