【发布时间】:2018-03-26 11:37:34
【问题描述】:
我有一个 Python 代码可以很好地 POST 到 API 端点:
msg = {}
msg['id'] = 1
d = {}
d['message'] = msg
f = {}
f['image'] = "<binary image data>"
f['thumb'] = "<binary image data>"
r = requests.post('/api/url', data=d, files=f)
但是,当我将其转换为 Javascript XMLHttpRequest 时,它无法正常工作。
这是我的代码:
var msg = {
"id": 1
};
var d = {
"message": msg
}
var formData = new FormData();
formData.append("message", JSON.stringify(d));
formData.append("image", "<binary image data>");
formData.append("thumb", "<binary image data>");
var xhr = new XMLHttpRequest();
xhr.open("POST", "/api/url", true);
xhr.send(formData);
输出
XHR 成功,状态码为 200 但id 错误,image 为空。
有什么想法吗?
【问题讨论】:
-
你以不同的方式转换数据,在python中f是结构而在js中不是。
-
@nullqube,你有什么建议?
-
@nullqube,感谢分享。这就是我正在做的事情。基本上我想知道的是在 Python 中它有键:
data和files。那么这将如何在 Javascript 中发挥作用呢? -
你的服务器端如何处理?
标签: javascript python xmlhttprequest