Javascript 在angularjs中从文件系统加载
我有一个json文件,我想在我的angular应用程序中提供它的内容。我正在阅读有关使用$http.get从文件系统加载json的内容。我无法让它工作,当我在控制台中运行加载它的代码时(通过$injector.get),我不断地得到“找不到”。我使用yeoman生成我的应用程序,其结构如下所示:Javascript 在angularjs中从文件系统加载,javascript,json,angularjs,Javascript,Json,Angularjs,我有一个json文件,我想在我的angular应用程序中提供它的内容。我正在阅读有关使用$http.get从文件系统加载json的内容。我无法让它工作,当我在控制台中运行加载它的代码时(通过$injector.get),我不断地得到“找不到”。我使用yeoman生成我的应用程序,其结构如下所示: app --scripts --services --jsonLoader.js --app.js --index.html --jsonFile.json j
app
--scripts
--services
--jsonLoader.js
--app.js
--index.html
--jsonFile.json
jsonLoader.js文件是
angular.module('jsonLoader', [])
.service('loader', function($http){
var schema = {};
$http.get('jsonFile.json')
.then(function(res){
schema = res.data;
});
return schema;
});
我尝试了所有可能引用json文件位置的路径组合,但在尝试访问服务时,我仍然得到了404。任何帮助都将不胜感激 您的问题与角度无关,但最有可能是您的咕噜声设置。 您的Grunt没有监视JSON文件,因此您的Angular应用程序无法访问您尝试访问的JSON文件 要使JSON文件可访问,您需要将以下内容添加到grunt文件中,该文件是Yeoman for Angular的一部分:
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'<%= yeoman.app %>/{,*/}*.html',
'<%= yeoman.app %>/{,*/}*.json', //added this line
'.tmp/styles/{,*/}*.css',
'<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
]
livereload:{
选项:{
livereload:'
},
档案:[
'/{,*/}*.html',
'/{,*/}*.json',//添加了此行
“.tmp/styles/{,*/}*.css”,
“/images/{,*/}*{png,jpg,jpeg,gif,webp,svg}”
]
这并不能解决我的问题。我撒了谎。当我将相关文件移动到yeoman.app目录时,这就解决了问题。Woops!哦,我还以为从上面的结构来看,它已经在你的应用目录中了,很高兴它能工作。