【发布时间】:2015-11-18 04:16:57
【问题描述】:
function getJSON(url){
return $http.get(url).success(function(response){
var result = response['entries'][0];
return result;
});
};
我认为 $http 返回了 Promise,所以我做了以下操作:
getJSON(url).then(function (result) {
console.log(result);
})
但是,当我记录结果时,我没有得到我在超时函数中记录的 JSON 文件,而是得到一个 HTML 响应文件。这就是我最终得到的结果:
Object {data: Object, status: 200, config: Object, statusText: "OK"}
您知道它为什么这样做吗?我可以做些什么来获取我在 $timeout 函数中登录的 JSON 文件?
【问题讨论】:
-
看起来你找回了响应对象。 $timeout 中的
console.log是否对此事有所启发? -
PS:你为什么需要
$timeout? -
更新范围值(应用显然会产生一些问题)。实际上,让我更新代码。
-
你不应该需要
$timeout或scope.$apply。也尽量不要使用成功。使用 .then 代替 -
我认为这与成功有关,但你能告诉我具体是什么问题吗?你能告诉我如何在不破坏我的代码的情况下使用 .then 而不是成功吗?
标签: javascript angularjs promise