需要Jquery文件发布帮助


Jquery file posting help needed

我尝试使用jQuery上传文件。我使用一个包含Input的隐藏表单,然后使用jQuery触发文件浏览器。一旦修改了输入,该文件就会被发送到PHP服务器脚本。

我的问题是,如果我只是做$("form1").submit();一切工作完美,但我的页面然后得到重定向。为了避免重定向,我想从PHP脚本中获得响应文本,因此我使用了jQuery Post函数,但这次PHP脚本不认识到有一个文件帖子,并在有($_FILES) = nothing时返回一个错误。

My HTML Code:

<form id="form1" name="up1" method="POST" action="upload.php" enctype="multipart/form-data">
 <input style="width:0px;height:0px"id="br" type="file" name="Filedata"/>
 </form>
jQuery:

 $("#br").change(function() {
   var $el = $('#br');
  $('#form1').submit(); 
});
//The code above works perfectly if I dont add this code below.
 $("#form1").submit(function(event) {
 event.preventDefault();
 var $el = $('#br');
 var $form = $( this ),
 term = $form.find('input[name="Filedata"]').val(),
 url = $form.attr( 'action' ),
 enctype= "multipart/form-data";
$.post( url, { s: term },
  function( data ) {
     alert(data);
   }
  );
 });

无法使用Ajax上传文件。但是,这里有一个技巧:创建一个隐藏的iframe并将Form的目标设置为iframe。使用iframe的readyState属性来告知文件加载何时完成。这不是真正的Ajax,但看起来很像。

你可以试试ajax-upload plugin.