- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道关于将表单编码为 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/
我是一名优秀的程序员,十分优秀!