【问题标题】:Can't get JSON data from Rails API无法从 Rails API 获取 JSON 数据
【发布时间】:2016-10-07 07:09:09
【问题描述】:

我向http://localhost:3000/cars/1 发出get 请求,但服务器没有回复json 数据。是这样说的

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)

我的控制器方法是这样的

 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

【问题讨论】:

  • 尝试将$http.get($auth.domain + '/api/cars/' + id);更改为$http.jsonp($auth.domain + '/api/cars/' + id);
  • @Md.Sahidul Islam .. 基本上你对服务器的请求是 http 请求 .. 它应该是 json 请求。

标签: ruby-on-rails angularjs rails-api


【解决方案1】:

.json 附加到网址

$http.get($auth.domain + '/api/cars/' + id + '.json');

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-21
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2013-11-18
    • 2017-02-13
    相关资源
    最近更新 更多