Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angularjs中从文件系统加载_Javascript_Json_Angularjs - Fatal编程技术网

Javascript 在angularjs中从文件系统加载

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

我有一个json文件,我想在我的angular应用程序中提供它的内容。我正在阅读有关使用$http.get从文件系统加载json的内容。我无法让它工作,当我在控制台中运行加载它的代码时(通过$injector.get),我不断地得到“找不到”。我使用yeoman生成我的应用程序,其结构如下所示:

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!哦,我还以为从上面的结构来看,它已经在你的应用目录中了,很高兴它能工作。