【问题标题】:How to work with rails render with ajax javascript request如何使用带有 ajax javascript 请求的 Rails 渲染
【发布时间】:2016-07-11 09:05:51
【问题描述】:

我在控制器中有操作

def login
    @message = params[:mess]
    @user = 1
    render :rend_log_form
end

视图 -rend_log_form.js.erb

l = $("#log_form");
console.log(<%= @message %>);
l.html("<%= j(render(partial: 'login/log_form', locals: {user: @user})) %>");

还有一些 javascript 代码

$.ajax({
      type: "POST",
      url: "/login",
       data: {mess:"eee"}, 
       success:function(data) {
         console.log("SUCCESS POST");
         console.log(data);
       },
       error:function(data) {
         console.log("ERROR POST:"); 
         console.log(data);
       }
    });

如果将 link_to 与 remote:true 一起使用,动作和控制器可以正常工作,但使用我的 javascript 代码,我在浏览器控制台中有:

ERROR POST:
Object

Object.responseText——rend_log_form.js.erb的代码

如何用javascript渲染表单?

【问题讨论】:

  • 尝试在您的 ajax 请求中添加 dataType : "html"
  • @HarryBomrah 非常感谢,看到成功帖子很有帮助。我还添加了 globalEval(data)function globalEval(code) { window.execScript ? execScript(code) : window.eval(code); }
  • 很高兴能帮上忙 :)
  • eval 使用不安全。

标签: javascript jquery ruby-on-rails ajax


【解决方案1】:

感谢 Hary Bomrah,将 dataType:"html" 添加到 js 代码中的 ajax 调用有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2018-05-01
    • 1970-01-01
    相关资源
    最近更新 更多