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()的内部