javascript - 尝试 Angular.js query() 函数时出现 406 Not Acceptable 错误

标签 javascript ruby-on-rails angularjs

我想使用 Angular.js 和 Rails 显示卡片索引。

这是我的代码。

# app/views/decks/show.html.erb
<div ng-controller="DeckCtrl">
  <form ng-submit="addCard()">
    <input type="text" ng-model="newCard.front" />
    <input type="submit" value="Add">
  </form>
  {{newCard.front}}
  <ul>
    <li ng-repeat="card in cards">
      {{card.front}}
    </li>
  </ul>
</div>

和 CoffeeScript

# app/assets/javascripts/decks.js.coffee
app = angular.module("Deck", ["ngResource"])

@DeckCtrl = ($scope, $resource) ->
  Card = $resource("/cards/:id", {id: "@id"}, {update: {method: "PUT"}})
  $scope.cards = Card.query()

  $scope.addCard = ->
    $scope.cards.push($scope.newCard)
    $scope.newCard = {}

CardsController

class CardsController < ApplicationController
  respond_to :json
  def index
    respond_with Card.all
  end

  def show
    respond_with Card.find(params[:id])
  end

  def create
    respond_with Card.create(card_params)
  end

  def update
    respond_with Card.update(params[:id], card_params)
  end

  def destroy
    respond_with_Card.destroy(params[:id])
  end

  private
    # Never trust parameters from the scary internet, only allow the white list through.
    def card_params
      params.require(:card).permit(:front, :back, :tips, :cardtype, :deck_id, :box_number)
    end
end

addCard 函数正在运行,但是 Card.query() 给我这个错误。

Started GET "/cards" for 127.0.0.1 at 2014-04-17 10:39:42 +0900
Processing by CardsController#index as HTML
Completed 406 Not Acceptable in 2ms

ActionController::UnknownFormat - ActionController::UnknownFormat:

看起来 Angular.js 发送的是 HTML 而不是 json,这会导致错误,对吗? 我怎样才能消除这个错误?

最佳答案

406表示服务器不支持客户端请求的格式。

angular默认发送的Accept头是application/json, text/plain, */*。所以基本上它接受一切。 $resource在我看来没有任何改变。

很可能在您的应用程序的某处设置了您的服务器无法处理的格式。

关于javascript - 尝试 Angular.js query() 函数时出现 406 Not Acceptable 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23123184/

相关文章:

javascript - 如何打开/关闭? (JavaScript)

javascript - Angular JS ng-repeat 从数组中选择随机分组?

ruby-on-rails - Vim:使用 rails.vim,如何让 rails.vm 使用 rspec 而不是 testunit?

javascript - Rails asset pipeline编译js报错

javascript - 对象键赋值参数返回undefined

ruby-on-rails - 执行 heroku 创建时找不到 libtermcap.so.2 文件

angularjs - 基于表达式使用 Angular 动态打开/关闭弹出框(或工具提示)的好方法?

javascript - Bower 组件出现 404 错误

angularjs - ui-sref 中有表达式错误

javascript - JQuery - select val() 仅返回下拉列表的第一个值