2014-05-15 33 views
0

這是我當前的代碼,用於將數據上傳和發佈到模態窗口。它可以在IE 10,Chrome,Firefox,Opera ...中正常工作,除非它在IE <中不起作用。10.有人有任何想法,我應該如何解決這個「bug」,或者我會怎麼說。jquery通過ajax上傳和發佈數據

$(document).ready(function() { 
    $("form[id='form']").submit(function(e) { 
     var formData = new FormData($(this)[0]); 
     $('#myModal').modal('show'); 
     $.ajax({ 
     url: "home/add_store/post", 
     type: "POST", 
     data: formData, 
     async: false, 
     success: function (data) { 
      $('#body').html(data); 
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
     }); 
     e.preventDefault(); 
    }); 
}); 

在網,我發現關於FORMDATA認爲它不是在IE < 10真正的支持,是沒有辦法,我仍然可以使用這個辦法嗎?

+0

'jQuery.serialize()'怎麼樣? – marekful

+0

Btw爲什麼你需要'async = false'? – marekful

+0

我不知道我在網上發現這個代碼,它的工作方式。 async = false有什麼問題? – user3278890

回答

0

找到的解決方案也適用於舊版瀏覽器。我使用jQuery的形式腳本。這裏是代碼:

<form action="upload.php" method="post" enctype="multipart/form-data"> 
<input type="file" name="myfile" multiple><br> 
<input type="text" name="text"><br> 
<input type="submit" value="Upload File to Server"> 
</form> 
<div id="status"></div> 

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script> 
<script> 

$('form').ajaxForm({ 
    complete: function(xhr) { 
     $('#status').html(xhr.responseText); 
    } 
}); 

</script>