这可能非常简单,但我在制作HTTP GET请求,获取数据并将其附加到javascript全局窗口变量时遇到了一些问题。
简单的HTTP呼叫:
$http.get("production/dashboard?dashboard_type=A").success((data) ->
$scope.pods = data;
window.pods = $scope.pods.to_json;
window.type = 'A';
alert(window.pods)
alert(window.type)
alert "success1"
return
).error (data, status, headers, config) ->
return
执行后,我得到了:
1. Alert("undefined")
2. Alert("A")
我认为当响应返回时,http请求的承诺将得到解决? 我检查了网络选项卡,确实发送了JSON数据作为对请求的响应。 我一定错过了一些简单的事情......
答案 0 :(得分:0)
$http.get("production/dashboard?dashboard_type=A")
.success(function(data) {
$scope.pods = data;
window.pods = $scope.pods;
window.type = 'A';
alert(window.pods);
alert(window.type);
alert("success1");
return
}).error (function(data, status, headers, config){
return;
});
这假设它可以访问代码所在的窗口。这是否包含在模块和控制器中?
答案 1 :(得分:0)
因为我们需要 json 数据来自$ http ..尝试将 .json 放在下面。
$http.get('/products.json')
关于您的另一个问题..您可能会获得此链接AngularJS : Prevent error $digest already in progress when calling $scope.$apply()
的提示