表格不在第二次提交AJAX上呈现

时间:2017-08-10 05:22:14

标签: javascript jquery ruby-on-rails ruby ajax

我有一个用AJAX触发的HTML表单,使用Rails后端提交。但是,在第一次提交后,表单停止提交。通过阅读其他帖子,我意识到部分问题是该问题与包含$(文档)而不是JQUERY调用中的表单提交处理程序有关,而是将其更改为类似$('。new_todo form')的内容。将页面作为JSON对象返回,而不仅仅是我在Jquery中使用$(document)获得的实例化对象{}响应。

我实际上是在尝试创建一个对象,然后继续将它附加到索引页面,该索引页面适用于第一次提交,但正如后面提到的那样。

我真的很感激任何见解,因为我已经盯着这几个小时,虽然大量的答案解决了类似的挑战(解除绑定等),但我发现没有成功解决这个用例。

当前的AJAX调用是:

 $(document).on('submit', '.new_todo', (e) => {
  e.preventDefault()
  $.ajax({
    type: "POST",
    url: "/todos",
    data: {
      'authenticity_token': $("input[name='authenticity_token']").val(),
      'todo': {
        'name': $("#todo_name").val()
      }
    },
    success: function(response) {
      $("#todo_name").val("")
      $("#todo_location").html("")
      $("#todo_date").html("")
      let newTodo = new Todo(response)
      let todoHtml = newTodo.formatIndex()
      $('.todo-list').append(todoHtml)
    }
  })
})

我创建的控制器操作是:

 def create
   @todo = Todo.new(todo_params)
   @todo.save
   render json: @todo
 end

谢谢!

0 个答案:

没有答案