2013-10-12 30 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); 
     } 
    }); 
} 

希望它能帮助。