簡體   English   中英

XMLHttpRequest multipart / form-data:多部分中的邊界無效

[英]XMLHttpRequest multipart/form-data: Invalid boundary in multipart

我通過XMLHttpRequest發送帖子數據:

var xmlHttp=new XMLHttpRequest();
xmlHttp.open("POST", domain, true);
xmlHttp.setRequestHeader("Content-type","multipart/form-data");
var formData = new FormData();  
formData.append("data", data_json_string);
xmlHttp.send(formData);

在Python中,如果我嘗試獲取POST(或FILES或任何)數據,我會收到錯誤:

MultiPartParserError: Invalid boundary in multipart: None

這可能永遠不會工作? 我是否真的需要將表單主體創建為單個字符串,我在其中循環參數並在每個參數之前和之后放置一個邊界字符串? 如果是這樣,那應該是什么樣的? 如何從我的POST中獲取它? 或者有一種更簡單的方法。 我環顧四周,對此沒有太多了解。

順便說一下,我正在使用“multipart / form-data”,因為我的字符串數據非常長,這是一種更快的發送方式。 當我創建表單並發布它,將其定位到iframe時,它對我有用。 但在這里我更喜歡xmlHttp。

不要自己設置Content-Type標頭。 它將在.send()數據時正確設置,包括手動生成的標頭缺少的正確生成的邊界。

規范明確指出.send(FormData)將使用multipart / form-data編碼。

如果數據是FormData

讓請求實體主體是運行multipart / form-data編碼算法的結果,其中數據作為表單數據集並且使用UTF-8作為顯式字符編碼。

令mime類型為“multipart / form-data;”的串聯,U + 0020 SPACE字符,“boundary =”,以及由multipart / form-data編碼算法生成的multipart / form-data邊界字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM