【问题标题】:Rails ajax call to controller not getting response backRails ajax调用控制器没有得到响应
【发布时间】:2020-08-10 23:21:09
【问题描述】:

向控制器操作发出简单的 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

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

于 2020 年 8 月 10 日 16:11:01 -0700 开始为 ::1 获取“/wagers/1b4b6da7-7dd0-4a42-b17b-3872850d908d/get-team-statuses” WagersController#get_team_statuses 作为 JSON 处理

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

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

有什么想法吗?

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

【问题讨论】:

  • 您是否尝试过使用开发者工具网络选项卡查看已发出的 xhr 请求?有什么问题吗?
  • @NinhLe 看起来不像,它说 200 OK。还有其他方法可以调试吗?
  • hmm,您检查过预览或响应选项卡吗?是空的吗?
  • @NinhLe 预览或响应选项卡是什么意思,它是否清空?我可能对此不熟悉
  • 使用 chrome 开发者工具,抱歉我的错误没有澄清,比如标题标签旁边的this

标签: javascript ruby-on-rails ajax


【解决方案1】:

我认为这会解决:

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

您在successsucess 之间输入错误

【讨论】:

  • 哇,我不敢相信我错过了。我希望控制台中有某种语法突出显示或错误消息可以早点提醒我。感谢您的帮助。
  • 我用的是vscode,可惜没有语法错误高亮
猜你喜欢
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2020-08-06
  • 1970-01-01
  • 2018-08-29
  • 2014-04-10
  • 2018-06-18
相关资源
最近更新 更多