Javascript 在angularjs控制器中从json获取字符串数组

Javascript 在angularjs控制器中从json获取字符串数组,javascript,json,angularjs,Javascript,Json,Angularjs,我试图从一个json文件中获取字符串数组,并将数据返回到一个变量,以形成一个word文件管理器列表,但“uncaught syntax error”一直显示有人能帮忙吗?下面是我的代码: var filterWords = $http.get('word.json').success(function(res) { return angular.fromJson(res.data); }); $scope.filterWord = function($str

我试图从一个json文件中获取字符串数组,并将数据返回到一个变量,以形成一个word文件管理器列表,但“uncaught syntax error”一直显示有人能帮忙吗?下面是我的代码:

    var filterWords = $http.get('word.json').success(function(res) {
      return angular.fromJson(res.data);
    });

    $scope.filterWord = function($string) {
         var wRegExp = new RegExp(filterWords.join("|"), "gi");
         return wRegExp.test($string);
    };

提前谢谢

您不必做
angular.fromJson
部分,AngularJS会为您做这件事<如果结果是JSON,则code>res.data将包含从JSON解析的对象


var wRegExp=new RegExp(filterWords.join(“|”)行中,gi”)
您没有等待
筛选词的结果,因此您正在调用HTTP承诺上的
join(“|”)
。我不确定您的代码的结构是什么,因为我只能看到您显示的两行,但您可能想在
success
处理程序中设置一个变量?或者在
filterWord
函数中使用
success
处理程序?

这里没有
语法错误。代码的另一部分会导致错误。另外,我不确定您的代码是否正常工作,您在第二个函数中将异步函数视为同步函数。@梅尔这是否意味着即使在调用了
filterWord()
之后,数据也可以设置为
filterWords
?这意味着异步调用通常会设置作用域值(由视图中的绑定使用)异步我需要json文件中的数据,并将它们设置为
filterWords
for
filterWord()
。也许我应该在
filterWord
函数中使用success处理程序?然后我会将
filterWords
的名称更改为
filterWordsPromise
,而不是在
success
处理程序中返回某些内容,我会执行类似于
$scope.filterWord=res.data
的操作。请记住,因为调用是异步的,
$scope.filterWord
将被取消定义一段时间,然后被设置为结果。非常感谢!所以您的想法是将
filterWord()
定义为asyn函数,同时与
$http.get
同步,对吗?