rails6从vanilla js请求中接收js.erb响应。

问题描述 投票:0回答:1

我正在发送简单的ajax调用。

  axios({
    method: "post",
    url,
    headers: {
      "Content-Type": "application/javascript",
      "X-CSRF-Token": headerToken()
    }
  })

到下面的动作。

def search
  @products = ::Product.search(params[:keyword])
end

.js.erb模板得到正确的返回,但是其中包含的javascript并没有被解析,而是以纯文本的形式呈现。

尝试了以下方法 :

form = document.querySelector('form');
Rails.fire(form, 'submit');

同样的结果。

这里缺少什么设置?

javascript ruby-on-rails erb
1个回答
0
投票

答案是 在这里.

window.Rails 是未定义的,所以必须在使用它的文件中导入。

然后,.NET文件就会被导入。

form = document.querySelector('form');
Rails.fire(form, 'submit');

按预期工作

© www.soinside.com 2019 - 2024. All rights reserved.