Hil*_*lmi 6 javascript xmlhttprequest
我正在尝试 ajaxlly 上传一个文件,包括我想用它添加一个帖子数据
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);
Run Code Online (Sandbox Code Playgroud)
我如何添加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);
Run Code Online (Sandbox Code Playgroud)
正确的新答案
错误的旧答案
您无法将文件和表单数据发布为 x=y&w=z。它们是两种不同的内容类型。
对于 x=y,您应该使用如下内容类型:application/x-www-form-urlencoded
我建议您将 AJAX 请求拆分为两个不同的请求,或将这些数据插入到 url 中:myUrl + 'query.php?x=y'。
再见
威尔克
归档时间: |
|
查看次数: |
4976 次 |
最近记录: |