【发布时间】:2012-07-26 08:11:58
【问题描述】:
我想知道为什么我不能使用 $.post() 方法在 JQuery 中上传文件?
有没有办法调整请求以处理这个问题?
$.post(url, { file: fileName, path: "/uploads" }, function (result) {});
【问题讨论】:
标签: javascript jquery asp.net-mvc jquery-plugins
我想知道为什么我不能使用 $.post() 方法在 JQuery 中上传文件?
有没有办法调整请求以处理这个问题?
$.post(url, { file: fileName, path: "/uploads" }, function (result) {});
【问题讨论】:
标签: javascript jquery asp.net-mvc jquery-plugins
我想知道为什么我不能使用 $.post() 方法在 JQuery 中上传文件?
这是因为为了上传文件,您需要使用multipart/form-data 协议,这意味着请求正文需要以与 jQuery 使用的标准形式 POST 完全不同的方式呈现:application/x-www-form-urlencoded(键/ POST 正文中用 & 分隔的值对)。更不用说为了在请求中写入文件内容,您需要访问文件内容,正如您所知,在 javascript 中根本不是这种情况。
但不要失去所有希望。将来,通过XmlHttpRequest2 和 HTML5,您将能够使用 AJAX 上传文件。
直到这个未来到来(顺便说一下,这不应该那么遥远,只要我们摆脱了 IE
所以,谷歌,做一个愿望清单:
然后继续玩演示,阅读文档,选择一个适合您的需求并尝试在您的网站中将其付诸实践。如果您遇到一些具体问题,请不要犹豫。
但不幸的是,使用$.post 上传文件是今天的禁忌。
【讨论】: