2013-12-09 99 views
0

我需要检查提交事件档案文件,所以我做了以下:jquery.ajax - 检查提交

$(document).ready(function(){ 
    $("form").submit(function(){ 
     data = new FormData(); 
     data.append('picture', $('#picture-field')[0].files[0]); 

     $.ajax({ 
      url: 'checkit.php', 
      data: data, 
      processData: false, 
      cache: false, 
      contentType: false, 
      type: 'POST', 
      dataType: "json", 
      success: function (data) { 
       alert(data.error) 
      } 
     }); 
    }); 
}); 

但这doesn't工作。返回的数据没有显示,任何人都可以帮助我?

+0

添加'alert',看是否'事件是triggered'。添加一个'error method'来查看'url'是否正确。不知道你是否需要设置'contentType:false'。另外,你的'JSON'是否有效? – Spokey

+0

看起来表单提交不被阻止可能刷新页面,从方法 –

+0

返回false ok,以及如何检查文件输入是否被设置? – user3080627

回答

0

尝试阻止表单提交动作

$(document).ready(function() { 
    $("form").submit(function (e) { 
     //stop the default form submit action 
     e.preventDefault(); 

     var files = $('#picture-field')[0].files; 
     if (!files.length) { 
      alert('select a file') 
      return; 
     } 

     var data = new FormData(); 
     data.append('picture', $('#picture-field')[0].files[0]); 

     $.ajax({ 
      url: 'checkit.php', 
      data: data, 
      processData: false, 
      cache: false, 
      contentType: false, 
      type: 'POST', 
      dataType: "json", 
      success: function (data) { 
       alert(data.error) 
      }, 
      error: function (jqXhr, status, error) { 
       alert(status + ':' + error + ':' + jqXhr.responseText) 
      } 
     }); 
    }); 
}); 
+0

是啊,呃,谢谢! – user3080627