无法从Rails API获取JSON数据
问题描述:
我向 http://localhost:3000/cars/1 发出了获取请求,但服务器确实不回复json数据.像这样
I make a get request to http://localhost:3000/cars/1 but server does not reply json data. It says like that
Started GET "/api/cars/1" for 127.0.0.1 at 2016-10-07 12:47:34 +0600
Processing by Api::V1::CarsController#show as HTML
Parameters: {"id"=>"1"}
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."uid" = $1 LIMIT $2 [["uid", "sahidul03@gmail.com"], ["LIMIT", 1]]
Car Load (0.6ms) SELECT "cars".* FROM "cars" WHERE "cars"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = $1 LIMIT $2 [["id", 1], ["LIMIT", 1]]
Started GET "/" for 127.0.0.1 at 2016-10-07 12:47:34 +0600
Processing by Rails::WelcomeController#index as HTML
Parameters: {"internal"=>true}
(2.9ms) BEGIN
Rendering /home/sahidul/.rvm/gems/ruby-2.2.3/gems/railties- 5.0.0.1/lib/rails/templates/rails/welcome/index.html.erb
Rendered /home/sahidul/.rvm/gems/ruby-2.2.3/gems/railties-5.0.0.1/lib/rails/templates/rails/welcome/index.html.erb (3.9ms)
Completed 200 OK in 11ms (Views: 10.2ms | ActiveRecord: 0.0ms)
(6.8ms) COMMIT
Completed 200 OK in 25ms (Views: 1.3ms | ActiveRecord: 11.8ms)
我的控制器方法就是这样
My controller method is like that
def show
car= Car.find(params[:id])
render json: car
end
前端请求为
function getCar(id) {
return $http.get($auth.domain + '/api/cars/' + id);
}
我在后端使用devise_token_auth gem,在前端使用ng-token-auth
I use devise_token_auth gem in back-end and ng-token-auth in front-end
答
在URL上附加 .json
$http.get($auth.domain + '/api/cars/' + id + '.json');
希望有帮助!