Jquery POST AJAX将请求的页面返回到浏览器中

时间:2012-09-28 18:25:25

标签: jquery django


我使用jQuery脚本发布表单 Afert AJAX请求,我不想使用响应。

我的麻烦是,AJAX响应是由浏览器启动的。

我的剧本:

$(document).ready(function() {

  $('button[num]').click(function(){
    $.fn.validRef($(this).attr('num'));
  });

  $.fn.validRef = function(refId){

    var R = {}  
    var form = $('#R'+refId+'Form')
    var tab = $('#R'+refId+'Tab')

    $('form input').each(function(index) {
      R[$(this).attr('name')] = $(this).val();
    });
    $('form select').each(function(index) {
      R[$(this).attr('name')] = $(this).val();
    });

    $.ajax({
      type: "POST",
      url: "/events/",
      data: R,
      async: false,
      cache: false,
      error: function() { alert('err'); },
      success: function(data){
        form.hide();
        tab.hide();
      }
    });
  }

});

我尝试使用return falseconsole.log(data)
但无论如何都会出现问题。

您还可以使用不同的方式使用或放置以前的2个命令。

最后一件事,我使用Django,请求/ajax的网页本身并不存在。

当我从控制台启动时,它可以工作!但是,当我将onclick用于我的功能时 我声明我的功能:function validRef(){ ... }

1 个答案:

答案 0 :(得分:0)

已解决:

我在点击处理中添加return false

  ...
  $('button[num]').click(function(){
    $.fn.validRef($(this).attr('num'));
    return false
  });
  ...