2013-04-25 22 views
1

是否可以POST一些XML數據我有作爲字符串作爲文件輸入類型從一個HTML表單。POST文本數據作爲文件形式

的情況是我有一個像

form action="target.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="file" id="file"><br> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

我有一些XML數據串在我的javascript代碼,我想發送的字符串從形式上,如果它是上傳與該文件的形式文件輸入標籤

感謝

+0

使用Ajax可以但不能用常規的形式提交。 – Musa 2013-04-25 19:59:34

+0

是與ajax是我在找什麼。可以給我一些指導如何做到這一點與ajax.Thanks – 2013-04-26 09:02:51

回答

1

如果你的瀏覽器支持XMLHttpRequest level 2,你可以做HTML5 FileApi以下

var xhr = new XMLHttpRequest; 
var blob = new Blob([xmlString], {type:'text/xml'}); 
var data = new FormData(); 
data.append('file', blob, 'filename.xml'); 
xhr.open('POST',url, true); 
xhr.send(data); 

如果你的瀏覽器不支持這些API,那麼你就必須建立自己的身體後手動

var xhr = new XMLHttpRequest(); 
xhr.open('POST', url, true); 
var boundary = '----'+(new Date()).getTime(); 
xhr.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+boundary); 
var data = ['--'+boundary, 
    'Content-Disposition: form-data; name="file"; filename="filename.xml"', 
    'Content-Type: text/xml','',xmlString,'--'+boundary+'--',''].join('\r\n'); 
xhr.send(data); 
+0

是的手動方式很好。我已經實現了這種方式。Anyway謝謝你的答案:) – 2013-04-28 06:41:35

相關問題