gpt4 book ai didi

javascript - 普通的 $.post() 传递字符串和传递文件有什么区别?

转载 作者:行者123 更新时间:2023-11-28 13:49:46 24 4
gpt4 key购买 nike

我想知道为什么我无法使用 $.post() 方法在 JQuery 中上传文件?

有什么方法可以调整请求来处理这个问题吗?

$.post(url, { file: fileName, path: "/uploads" }, function (result) {});

最佳答案

I am wondering why i can't upload a file in JQuery using the $.post() method?

这是因为为了上传文件,您需要使用 multipart/form-data协议(protocol)意味着请求正文需要以与 jQuery 使用的标准形式 POST 完全不同的方式呈现: application/x-www-form-urlencoded (在 POST 正文中用 & 分隔的键/值对)。更不用说为了在请求中写入文件内容,您需要访问文件内容,正如您所知,在 javascript 中根本不是这样的。

但不要失去所有希望。 future ,与XmlHttpRequest2和 HTML5,您将能够使用 AJAX 上传文件。

在这个 future 到来之前(顺便说一句,一旦我们摆脱了 IE<=9,这应该不会那么遥远)坚持使用现在存在的东西:检测浏览器功能并使用 XHR2 的文件上传插件如果浏览器支持它以及其他一些技术(例如隐藏的 iframe 或 Flash,如果不支持),并减轻您自己手动执行此操作的负担。

所以,继续吧,Google,制定一个愿望 list :

然后继续尝试演示,阅读文档,选择适合您需求的一个,并尝试将其在您的网站中付诸实践。如果您遇到一些具体问题,请随时询问。

但不幸的是,今天不能使用 $.post 上传文件。

关于javascript - 普通的 $.post() 传递字符串和传递文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691355/

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