我用jquery的ajax请求提交表单,第一次没有问题,第二次提交时就重复提交了,
先是报新增失败,然后又接着报新增成功,请各位帮帮忙,怎么解决?
注:我是用Struts2+jquery实现ajax

解决方案 »

  1.   

    可能是js的缓存问题,如果js路径相同的话,浏览器一般是缓存起来的,你试着在每个js路径下 加个参数?fresh=Math.random()
      

  2.   

    $(document).ready(function() {
    //$.formValidator.initConfig({onerror:function(){alert("校验没有通过,具体错误请看错误提示")}});
    $.formValidator.initConfig( {
    formid : "devForm",
    onerror : function() {
    return false;
    },
    onsuccess : function() {
    $("form").submit(function (){
    var f=this;
    alert($(this.).attr("action"));
    $.ajax({
    type:"post",
    url:$(this).attr("action"),
    data:$(this).serialize(), 
    error:function(){
    alert("新增设备失败,请与管理员联系!");
    },
    success:function(){
    alert("设备新增成功!");
    }
    });
    f.reset();
    return false;

    }); }
    });
      

  3.   

    第二次请求时跳进Action里的参数为空返回error后又跳进这个方法里,参数不为空返回success
      

  4.   

    你都用jquery了,为什么不用jquery的ajax?你这个f.reset();是要干什么?
      

  5.   

    f.reset();是用来重置表单
    跟这个没关系
      

  6.   

    你提交ajax了么?怎么没看到?.............
      

  7.   


    或者在JS路径下加个时间戳 dd=new Date();
      

  8.   

    $.urlDecode($(this).serialize()),这样可以试试