【发布时间】:2016-04-07 14:19:34
【问题描述】:
我正在尝试从服务器访问数据到$scope.resp,但页面上只显示原始 json。
这里是路由/addr.js
router.get('/', function(req, res) {
var pers = [{add: "abc"},{add: "pqr"}]
res.json(pers)
});
})
aj.js:
var app = angular.module('addbook', [])
app.controller('listcontroller', function($scope, $http){
$http.get('/list').then(function(response) {
$scope.resp = response
})
})
chrome 控制台上没有错误。我注意到当 $http.get 请求被注释掉时,它仍然显示原始 json。我看到了一个类似的问题,他们要求做 stringify 但它不起作用。
【问题讨论】:
-
试试
$scope.resp = response.data。.then返回的promise对象还有其他响应信息,比如response.status。较旧的、已弃用的.success回调不包含此信息。如果这没有帮助,您应该考虑使用用于呈现resp的 HTML 更新您的问题。 -
谢谢。我仍然只得到原始 json。我注意到即使console.log 也不适用于aj.js 文件。请求到达服务器并呈现 json 和 aj.js 文件没有被读取。
-
$http.get('/list').then(function(response) { console.log(response) }) -
如果您注释掉将检索数据的
$http.get,您的视图怎么会呈现数据?这里仍然缺少一些东西。您确定您处于角度视图中吗?您尝试浏览的 URL 是什么,以及该 URL 的 HTML 模板是什么样的? -
您的路由器正在为
/提供服务也没有任何意义,但您的$http.get似乎在请求/list。这是另一个标志,表明您并没有真正查看有角度的页面,尤其是在您有数据的情况下。