我一直在做一些搜索并试图弄清楚如何构建通过
之类的内容发送请求 $.ajax({
contentType: "multipart/form-data",
type: "POST",
data: data,
url: url,
success: function (data) { }
});
现在请求本身应该看起来像这样的json作业部分,然后是json细节部分和相关文件
Content-Type: multipart/form-data; boundary=4fed9b4a-7aae-430f-b907-cbefe7e22c55
--4fed9b4a-7aae-430f-b907-cbefe7e22c55
Content-Type: application/vnd.collection+json
Content-Disposition: form-data; name=job
{json}
--4fed9b4a-7aae-430f-b907-cbefe7e22c55
Content-Type: application/vnd.collection+json
Content-Disposition: form-data; name=details
{json}
--4fed9b4a-7aae-430f-b907-cbefe7e22c55
Content-Type: application/pdf
Content-Disposition: form-data; filename=moo.pdf
xxxxxxxxxxxxxxxxx
--4fed9b4a-7aae-430f-b907-cbefe7e22c55
Content-Type: application/vnd.collection+json
Content-Disposition: form-data; name=details
{json}
--4fed9b4a-7aae-430f-b907-cbefe7e22c55
Content-Type: application/pdf
Content-Disposition: form-data; filename=doh.pdf
xxxxxxxxxxxxxxxxxxxxxxxxxxx
--4fed9b4a-7aae-430f-b907-cbefe7e22c55--
所以使用Javscript并假设我有文件数据和json数据我将如何构建一个我可以在上面的ajax调用中发送的请求?感谢
答案 0 :(得分:0)
尝试将contentType: false
和processData: false
添加到您的ajax请求中。 this SE问题的答案包括对正在发生的事情的一个很好的解释,基本上你强迫jQuery不包含内容类型标题。