使用 XMLHttpRequest 发送包含数据的文件
using XMLHttpRequest send file with data
我正在尝试上传一个文件,包括我想用它添加帖子数据
var xhr = this._xhrs[id] = new XMLHttpRequest();
var queryString = qq.obj2url(params, this._options.action);
xhr.open("POST", queryString, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.send(file);
如何将x=y
添加为发布数据?
var file = $("#file_input")[0].files[0];
//for pure javascript use
var file = document.querySelector('input[type=file]')[0].files[0];
var formData = new FormData();
formData.append("myfile", file);
formData.append("text_unput", "Hello");
var xhr = new XMLHttpRequest();
xhr.open('POST', '/url', true);
xhr.send(formData);
正确的新答案
看看下面@habibutsu的答案
错误的旧答案
您不能将文件和表单数据发布为 x=y&w=z。它们是两种不同的内容类型。
对于 x=y,您应该使用如下内容类型:application/x-www-form-urlencoded
我建议你将 AJAX 请求分成两个不同的部分,或者将这些数据插入到 url 中:myUrl + 'query.php?x=y'。
再见
威尔克
相关文章:
- 如何使用.log数据文件显示EXT-js网格
- 如何在javascript中使用会话特定的数据文件
- 数据文件出现 D3 错误
- HTML 对象数据文件(如果未找到)
- 在 JSFiddle 中链接外部 JSON 数据文件
- 如何从 SDK 插件数据文件夹加载 DLL
- 使用 jquery 从 json 数据文件动态填充选择元素
- 节点模块包括数据文件作为全局变量
- 如何获取 HTML 标记的“数据文件”属性的内容
- 在 d3.js 散点文件中使用数据数组而不是外部数据文件
- 我用PHP调用的数据文件神秘地被更改了.用户是否覆盖了它
- 从数据文件导入数组
- 谷歌驱动器API应用程序数据文件夹,是真的那么困难
- XML数据文件已更改,但更改不会;t出现在gmaps中的html页面上
- 大文件(超过~2Mb)上传-引发错误“;键'数据文件'在<MultiValueDict:{}>
- 将数据文件转换为blob
- 如何使用链接检索整个数据文件(ajax?)
- firefox(9),javascript,由于大数据文件导致分配大小溢出.有什么办法可以避免这种情况吗
- 我们可以在json数据文件中添加图像,并使用D3.js在页面上调用它
- IANA (Internet Assigned Numbers Authority)数据文件和来自www.timeand