gpt4 book ai didi

javascript - 如何在 jquery POST 中将 enctype 作为 multipart/form-data 发送

转载 作者:行者123 更新时间:2023-11-28 08:42:36 24 4
gpt4 key购买 nike

我知道关于将表单编码为 multipart/form-data 有很多问题,但似乎大多数都与上传文件有关。 我对上传文件不感兴趣;我也没有实际的表单。我只是有一个按钮,单击时调用以下函数:

$.post("http://html5.validator.nu/",
{
headers: { 'Content-Type': 'multipart/form-data' }, //this doesn't work !
content:"<!DOCTYPE html>"//the value of content doesn't matter at the moment
},
function(data){
print(data);
});

AJAX 请求执行,但 validator.nu(服务器)的响应是这样的:

application/x-www-form-urlencoded not supported. Please use multipart/form-data

如何使用 multipart/form-data 对表单进行编码,而无需实际拥有表单(仅在查询中)?我可以在请求中添加一两行来执行此操作吗?谢谢

最佳答案

"multipart/form-data" 对于 httpd 来说不像对于 UA 那么重要。您的浏览器会看到 enctype="multipart/form-data" 并进行特殊处理,其中最重要的部分是它塑造发送到 httpd 的 MIME 请求的方式。

以下是实际 multipart/form-data HTTP 请求中最相关的部分(使用 requestb.in 捕获):

Content-Length: 533

Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryEknFTYZrogVNxemQ

------WebKitFormBoundaryEknFTYZrogVNxemQ

Content-Disposition: form-data; name="foo"; filename="foo.png"

Content-Type: image/png

PNG

[PNG data elided]

------WebKitFormBoundaryEknFTYZrogVNxemQ

Content-Disposition: form-data; name="Submit"

Submit

------WebKitFormBoundaryEknFTYZrogVNxemQ--

综上所述,构建这些 MIME 部分可能有点像 PITA,因此如果您能找到一个库来为您完成此操作(例如 @Innovation 建议的库),那么可能值得研究一下。

关于javascript - 如何在 jquery POST 中将 enctype 作为 multipart/form-data 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20321862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com