如何在外面提供数据

时间:2012-05-15 17:05:39

标签: javascript javascript-events angularjs

请在此处查看:http://jsfiddle.net/9VaW2/1/

我希望jData可以在

之外使用
$http({method: 'POST', url: '/someurl'}).
  success(function(data, status, headers, config) {
    var jData = data;
  }).
    error(function(data, status, headers, config) {
  });

但是当我这样做时

$view.availableData = {
                cols:{ID:'ID', Date:'Date'},
                rows:{data:jData},
                options:{}
            };

它给了我这个错误

ReferenceError: jData is not defined

修改 更新小提琴

http://jsfiddle.net/9VaW2/3/

**我认为我找到了一个同步调用的解决方案..async:false。这样可行。我认为页面的加载速度比数据回来的速度快......想知道是否有人有更好的解决方案**

1 个答案:

答案 0 :(得分:1)

只需定义为全局变量。

var jData;

$http({method: 'POST', url: '/someurl'}).
    success(function(data, status, headers, config) {
      jData = data;
    }).
    error(function(data, status, headers, config) {
    });

$view.availableData = {
    cols:{ID:'ID', Date:'Date'},
    rows:{data:jData},
    options:{}
};