jquery - AJAX 成功响应不起作用 Rails

标签 jquery ruby-on-rails ajax forms

我有一个使用 AJAX 成功发送的邮件程序,但是当单击提交按钮时,它处于按下状态并且没有显示成功消息。多次单击该按钮会导致多次提交表单。该按钮应该重置,并且(根据我的理解)AJAX:success 事件应该生成某种文本来表明它已成功。

AJAX 脚本(来自 rails guides)

<script>
$(document).ready ->
  $("#AJAX-form").on("ajax:success", (e, data, status, xhr) ->
    $("#AJAX-form").append xhr.responseText
  ).on "ajax:error", (e, xhr, status, error) ->
    $("#AJAX-form").append "<p>ERROR</p>"
</script>

(更新的)表格:

<%= form_tag("/pages/thank_you", remote: true, id: 'AJAX-form') do %>
      <div class="row">
        <div class="col-md-2">
          <div class="input-group">
              <%= text_field_tag :name, nil, class: 'form-control', placeholder: 'Name' %>
          </div>
        </div>
        <div class="col-md-4">
          <div class="input-group">
            <span class="input-group-addon" id="basic-addon1">@</span>
            <%= text_field_tag :email, nil, class: 'form-control', placeholder: 'Email' %>
          </div>
        </div>
      </div>
      <br>
      <div class="row">
        <div class="col-md-6">
          <div class="input-group text-area-wide">
              <%= text_area_tag :message, nil, class: 'form-control text-area-wide', placeholder: 'Message' %>
          </div>
        </div>
      </div>
      <br>
      <%= submit_tag 'Send Message', class: 'btn btn-success' %>
  <% end %>

Controller 操作:

def thank_you
    @name = params[:name]
    @email = params[:email]
    @message = params[:message] || "Hello!"
    UserMailer.contact_form(@email, @name, @message).deliver
end

最佳答案

仔细检查您的 JavaScript 绑定(bind)。​​

$("#AJAX-form").on(...)

正在寻找id=“AJAX-form”的元素。您的表单似乎具有 class="AJAX-form"。

要么绑定(bind)到类

$(".AJAX-form").on(...)

或更改您的表单 ID 以匹配

<%= form_tag("/pages/thank_you", remote: true, id: 'AJAX-form') do %>

关于jquery - AJAX 成功响应不起作用 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270855/

相关文章:

ajax - 使用 ajaxSetup beforeSend 进行基本身份验证会破坏 SignalR 连接

onClick 中的 Javascript setTimeout

jquery - jScrollPane 从隐藏的 div 中显示的问题

javascript - 如何在div中查找内容是否可用?

javascript - 我在 Rails 4 中使用 form_for 的 AJAX 请求做错了什么?

ruby-on-rails - Ruby on Rails 中的奇怪重定向

javascript - ajax responseText 显示为文本,而不是 html

javascript - 如果 ajax 调用时间低于 1 秒则隐藏微调器

javascript - 在图像上绘图时的像素问题 - html5 canvas

ruby-on-rails - 如何在 RSpec 中 stub 两个链接的 ActiveRecord 方法?