【发布时间】:2015-01-01 18:24:10
【问题描述】:
我尝试使用angularjs、$q 加载json 文件并从angular 过滤器返回数据。
我有一个角度滤镜:
MyApp.filter('my_filter', function ($q){
return function(input){
var deferred = $q.defer();
var j = {};
$.getJSON(url, function(json) {
j = json;
deferred.resolve(json);
});
return j;
但我得到了{}。如何同步加载json 并从过滤器返回其内容?
谢谢。
【问题讨论】:
-
在我回答之前,我可以假设您不使用 JSONP 来加载您的 JSON?
-
为什么我必须使用 JSONP?我从我的服务器得到了 json 文件,没关系。
-
NONO,你没有使用 JSONP 的事实是 GOOD ,我只是想确定一下。
-
为什么不直接使用 Angular 的 $http?它将以承诺的形式为您返回响应。您不应该直接在过滤器中执行此操作。您应该将其移至服务。
标签: javascript jquery angularjs promise