解决方案 »

  1.   

    你理解上有错误,ajax本身就是异步的,你发起ajax请求后,当前的js还会继续执行,如果你想通过ajax阻止提交,就不能在sumit事件中发起ajax,比如,搞个<input type='button'>(别用type=‘submit’,那个默认还是会提交表单,用button默认不会提交表单)给这个button绑一个click事件,然后在这个事件里发起aja请求,等获取结果后,做判断,如果ok就把表单submit,否则就退出就行了
      

  2.   

    $("#myForm").submit(function (e){ 
                  var str = '';     
               $.ajax({          
              type: "POST",        
                 contentType: "application/json",     
                    url: "1.jsp",        
                 data: "{}",          
                 dataType: 'json',        
                  success: function(result) {  
     
                 //如果传回参数1代表不能提交,也就是说不是1 就可以提交了
                if(result != 1)  $("#myForm").submit()
                      
     }              
      });          
        return false;  // 这个可以一直默认阻止,这是现在的逻辑需要的
    });
      

  3.   

    $("#myForm").submit(function (e){ 
           var str = true;     
           $.ajax({          
              type: "POST", 
              async: false,
              contentType: "application/json",     
              url: "1.jsp",        
              data: "{}",          
              dataType: 'json',        
              success: function(result) {  
                  if(result == 1){ str = false;}
              }              
          });          
          return str ;
      });
      

  4.   


    str 变量得不到 $.ajax 的内部str值,你不信用 alert(str)放在return str ; 下面试试。是空值。
      

  5.   


    str 变量得不到 $.ajax 的内部str值,你不信用 alert(str)放在return str ; 下面试试。是空值。 我说错了。有效。
      

  6.   


    str 变量得不到 $.ajax 的内部str值,你不信用 alert(str)放在return str ; 下面试试。是空值。 我说错了。有效。 我刚才测试了,得不到 str = false;