Javascript 使用Angular';时无法从控制器获取json信息;s$http
因此,我试图从控制器中的一个操作中获取一些信息 当前的操作如下所示:Javascript 使用Angular';时无法从控制器获取json信息;s$http,javascript,ruby-on-rails,json,angularjs,Javascript,Ruby On Rails,Json,Angularjs,因此,我试图从控制器中的一个操作中获取一些信息 当前的操作如下所示: def index @users = User.all respond_to do |format| format.html format.json { render json: @users } end end 此索引页设置为routes.rb中的根目录 现在,这就是我的AngularJs控制器的样子,我试图从中获取信息: @
def index
@users = User.all
respond_to do |format|
format.html
format.json { render json: @users }
end
end
此索引页设置为routes.rb中的根目录
现在,这就是我的AngularJs控制器的样子,我试图从中获取信息:
@test.controller 'TestCtrl', ['$scope', '$location', '$http', ($scope, $location, $http) ->
$scope.data = []
$http.get('/')
.success (data) =>
$scope.data = data
console.log($scope.data)
.error (data) ->
console.log('error!')
]
当我加载根页面时,我只会在Javascript控制台日志中将整个页面作为html加载
那么,为了让AngularJs控制器的动作index
以json响应,我是否遗漏了一些需要做的事情
服务器日志:
Started GET "/" for 127.0.0.1 at 2014-11-28 18:02:26 +0200
Processing by VisitorsController#index as HTML
(0.4ms) SELECT COUNT(*) FROM "users"
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
(2.1ms) SELECT COUNT(*) FROM "users" INNER JOIN "relationships" ON "users"."id" = "relationships"."followed_id" WHERE "relationships"."follower_id" = $1 [["follower_id", 1]]
(0.2ms) SELECT COUNT(*) FROM "users" INNER JOIN "relationships" ON "users"."id" = "relationships"."follower_id" WHERE "relationships"."followed_id" = $1 [["followed_id", 1]]
Rendered users/_stats.html.erb (4.8ms)
Rendered visitors/index.html.erb within layouts/application (6.9ms)
Rendered layouts/_navigation_links.html.erb (0.3ms)
Rendered layouts/_navigation.html.erb (0.7ms)
Rendered layouts/_messages.html.erb (0.0ms)
Completed 200 OK in 137ms (Views: 134.0ms | ActiveRecord: 2.9ms)
我修复了这个问题,没有查询'/'
路由,而是查询'/users.json'
。即使您这样做:“/.json”
,它也不会工作。您会遇到什么错误?您是否检查了rails应用程序服务器日志?我没有收到任何错误。我的问题只是控制器给我的AngularJs控制器数据是html而不是json。如果我打印出我从请求中获得的数据,它就是整个html页面。你能在你的控制器中试试吗format.json{render json:@users.to_json}
类似于vistors/index.json
或者你需要告诉angular的$http.get来获取jsonso如果你现在有一个访问者/index.json,那么为什么不$http.get(/index.json)。如果成功,你需要调整.get()的内部