2013-02-07 130 views
0

我有一個表格 我通過Ajax發送給每個參數 但是不要發送表格數據。 我的問題是我應該怎麼通過ajax發送表單數據通過Ajax表格發送數據

的html代碼:

<from action="" method="post" enctype="multipart/form-data"> 
    <input type = "file" name = "adrfile" /> 
    <input type = "button" value="Upload" onclick="javascript: upload();" /> 
</form> 
+0

哪裏是你的'upload'功能? –

回答

2

文件上傳無法與XmlHttpRequest對象是傳統什麼被認爲是AJAX來完成。大多數人嘗試創建和異步文件上傳時採用的方法是提交表單並將其作爲iframe。我會建議使用像Uploadify這樣的javascript庫。

還有很多JQuery插件,可以幫助你做到這一點。快速谷歌搜索應該給你很多選擇。

+0

感謝,我的問題是XmlHttpRequest對象。 我沒有意識到 – geeking

1

如果你想要一個令人頭疼的問題,可以爲各種瀏覽器完成 - 也就是最新版本的Firefox,IE,Safari和Opera。在JS summat像(

需要編寫代碼,其中obj與input type="file"項目的對象:

function DoReadFile(obj) 
    { 
    if (obj.files) 
    { 
     // Sensible browers 
     if (1 == obj.files.length) 
     { 
     var file = obj.files[0]; 
     try { 
      return obj.files[0].getAsBinary(); 
     } 
     catch (error) 
     { 
      // Blank 
     } 
     } 
    } 
    else 
    { 
     // IE 
     try 
     { 
     var fileSystem = new ActiveXObject("Scripting.FileSystemObject"); 
     var fileHandle = fileSystem.OpenTextFile(obj.value, 1); 
     var contents = contents.ReadAll(); 
     contents.Close(); 
     return contents; 
     } 
     catch (error) 
     { 
     // Blank 
     } 
    } 
    throw "Cannot read file"; 
    } 

然後,您可以得到JS加密數據(基64等),並與其他東西一起發送作爲後,它不能是多部分的形式,雖然。

但它是一個有點浪費時間。