2013-10-12 31 views
0

提交表單我有這樣的形式:通過AJAX

<form id="ugaForm" method="POST" action="/url/upload" target="myFrame" 
enctype="multipart/form-data"> 

Please select a file to upload : <input id="file" type="file" name="file" /> 
<input type="button" onclick="submitF()" value="upload" /> 
</form>    

提交時,通常它完美的作品。

我需要一個ajax後模擬此確切的表單提交。 這個代碼不工作:

function submitF() { 
debugger; 
var mfile = $("form#ugaForm")[0].file; 
var fd = new FormData();  
fd.append('file', mfile); 

$.ajax({ 
    url: 'http://localhost/url/upload/', 
    data: JSON.stringify({ 'objectData' : fd}), 
    cache: false, 
    contentType : false,  
    processData: false, 
    type: 'POST', 
    success: function(data){ 
     alert(data); 
    } 
}); 

回答

0

如果您是通過AJAX提交的東西,然後你爲什麼把它變成了形式。只是刪除表格,並保持這是它裏面的其他東西,這樣它會變成這個樣子:

<div id="ugaForm"> 
    Please select a file to upload : <input id="file" type="file" name="file" /> 
    <input type="button" onclick="submit()" value="upload" /> 
</div> 

而且JS會是這樣:

function submitF() { 
    debugger; 
    var mfile = $("#ugaForm")[0].file; 
    var fd = new FormData(); 
    fd.append('file', mfile); 

    $.ajax({ 
     url: 'http://localhost/url/upload/', 
     data: JSON.stringify({ 
      'objectData': fd 
     }), 
     cache: false, 
     contentType: false, 
     processData: false, 
     type: 'POST', 
     success: function (data) { 
      alert(data); 
     } 
    }); 
} 

希望它能幫助。