通过Ajax加载表单然后通过Ajax发送表单?

时间:2013-12-22 00:50:28

标签: javascript jquery ajax

好的我正在通过像这样的ajax调用将表单加载到页面中:

    $('.ajax_click').on('click', function(event) {
  event.preventDefault();
  /* Act on the event */
  var getmsgtoload = $(this).find('.ajax_get_msg').attr('href');
  var getpelytoload = $(this).find('.ajax_get_reply').attr('href');  
  //get reply
  $.ajax({
    url: getpelytoload,
  }).done(function(data) {
    var getreply = $(data).find('#reply_div').html();
    $('#reply_div').replaceWith('<div id="reply_div">'+getreply+'</div>');
          //Process our send!
          $('#create').submit(function() { // catch the form's submit event
             $.ajax({ // create an AJAX call...
                    data: $(this).serialize(), // get the form data
                    type: $(this).attr('method'), // GET or POST
                    url: $(this).attr('action'), // the file to call
                })
                  .done(function(data){ // the file to call
                  console.log(data);
                      $('#created').html('<h1>Success</h1>'); // update the DIV
                  })
                  .fail(function(){
                    console.log('error on the from....');
                  });
              return false; // cancel original event to prevent form submitting
          });
  })
  .fail(function() {
    console.log("error");
  })
  .always(function() {
    console.log("complete");
  });
});

我正在尝试通过ajax从表单发送数据,但data参数只返回整个页面而不仅仅是表单。 为什么? 克里斯 澄清 表单不会“POST”数据完全可以,但它确实在页面上工作我从中拉出表单就像这样: 我正在调用一个表格进入DIV A,在Ajax的Callback成功函数中从A页调用Ajax进入页面B然后我运行ajax通过序列化发送表单数据但是在查看表单时它不会发送在页面A它工作正常但不是当它被拉入页面B! 克里斯

1 个答案:

答案 0 :(得分:1)

因为在“完成”事件处理程序中,您会收到服务器响应POST的内容。在您的情况下,服务器响应整页。