首页 > 解决方案 > Rails ajax 调用控制器没有得到响应

问题描述

向控制器操作发出简单的 GET 请求。调试以确保它实际上是在发出请求并且控制器执行操作没有问题。但是,它没有成功,因为我没有看到正在记录的响应。

$.ajax({
  url: _url,
  type: 'GET',
  dataType: 'json',
  sucess: function(response) {
    alert(response);
    console.log("response: " + response);
  }
});
  def get_team_statuses
    @wager = Wager.find(params[:id])
    _team_count = helpers.get_team_member_names_without_self(@wager).count + 1
    _opponent_count = helpers.get_opposing_member_names(@wager).count

    _team_full = _team_count == @wager.team_size.players_count
    _opposing_team_full = _opponent_count == @wager.team_size.players_count

    respond_to do |format|
      format.html
      format.json { render json: {team_full: _team_full, opposing_team_full: _opposing_team_full } }
    end
  end

查找了包括文档在内的大量资源,似乎连接正确。我得到的唯一有趣的信息是

开始 GET "/wagers/1b4b6da7-7dd0-4a42-b17b-3872850d908d/get-team-statuses" for ::1 在 2020-08-10 16:11:01 -0700 由 WagersController#get_team_statuses 处理为 JSON

[active_model_serializers] 使用哈希渲染 ActiveModel::Serializer::Null (0.09ms)

在 12 毫秒内完成 200 次 OK(查看次数:0.5 毫秒 | ActiveRecord:2.0 毫秒)

有任何想法吗?

编辑:这是我的网络选项卡对于 xhr 请求的样子。如您所见,我单击了 3 次按钮以发送请求,因此列出了 3 个。

在此处输入图像描述

标签: javascriptruby-on-railsajax

解决方案


我认为这将解决:

$.ajax({
  url: _url,
  type: 'GET',
  dataType: 'json',
  success: function(response) {
    alert(response);
    console.log("response: " + response);
  }
});

success您在和之间犯了一个拼写错误sucess


推荐阅读