【问题标题】:Rails 6: AJAX data not reaching controllerRails 6:AJAX 数据未到达控制器
【发布时间】:2021-07-13 07:16:19
【问题描述】:

我正在尝试进行非常标准的 ajax 调用,这是我的代码:

// app/javascripts/packs/contacts.js
jQuery(() => {
  $(".upload-contacts-button").on("click", (e) => {
    e.preventDefault();
    //...

    $.ajax({
      url: "/pre-parse-contacts",
      type: "post",
      data: { my_param: random_param },
      success() {},
    });
  });
});

这是我的路线:

post 'pre-parse-contacts', to: 'contacts#pre_parse_contacts', as: 'pre_parse_contacts'

由于某种原因,我在 ajax 请求中发送的数据永远不会到达控制器,当我尝试在控制器操作中 puts params 时,我得到以下结果:

------- DEBUG --------
{"controller"=>"contacts", "action"=>"pre_parse_contacts"}

我确定进行了 ajax 调用,即使 js.erb 视图也尝试渲染,但由于我需要在 ajax 调用中发送的数据而出现错误...知道为什么会这样吗?

【问题讨论】:

    标签: ruby-on-rails ajax


    【解决方案1】:

    抱歉,我找到了问题的答案,似乎我试图在 ajax 请求的参数中发送一个字符串数组,这就是它从未到达控制器的原因。

    加入数组就成功了:

            $.ajax({
              url: "/pre-parse-contacts",
              type: "post",
              data: { my_param: random_param.join() },
              success() {},
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多