如何使用包含文件和后期数据的JavaScript创建AJAX请求
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用包含文件和后期数据的JavaScript创建AJAX请求,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1657字,纯文字阅读大概需要3分钟。
内容图文
![如何使用包含文件和后期数据的JavaScript创建AJAX请求](/upload/InfoBanner/zyjiaocheng/699/d02f5783c98746058154c8a14dcad972.jpg)
如何创建一个HTTP请求,该请求使用可由PHP服务器接收的JavaScript发送一个文件和一些发布数据?
我发现了以下建议,但似乎并不完整
xhr.open("POST", "upload.php");
var boundary = '---------------------------';
boundary += Math.floor(Math.random()*32768);
boundary += Math.floor(Math.random()*32768);
boundary += Math.floor(Math.random()*32768);
xhr.setRequestHeader("Content-Type", 'multipart/form-data; boundary=' + boundary);
var body = '';
body += 'Content-Type: multipart/form-data; boundary=' + boundary;
//body += '\r\nContent-length: '+body.length;
body += '\r\n\r\n--' + boundary + '\r\n' + 'Content-Disposition: form-data; name="';
body += 'myfile"; filename="'+file.fileName+'" \r\n';
body += "Content-Type: "+file.type;
body += '\r\n\r\n';
body += file.getAsBinary();
body += '\r\n'
body += '--' + boundary + '\r\n' + 'Content-Disposition: form-data; name="submitBtn"\r\n\r\nUpload\r\n';
body += '--' + boundary + '--';
xhr.setRequestHeader('Content-length', body.length);
为了实现这一点,我需要一个包含输入类型文件字段的“文件”变量,但是在哪里放置额外的帖子数据?我也想发送一个描述文本.假设我还需要使用xhr.send发送请求…
解决方法:
其他POST数据应作为另一个Content-Disposition放置.例:
Content-Type: multipart/form-data; boundary=AaB03x
--AaB03x
Content-Disposition: form-data; name="submit-name"
Larry
--AaB03x
Content-Disposition: form-data; name="files"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
这里发送了两个变量:要上传的文件和名称=“submit-name”的输入和值Larry.您可以拥有与要POST的变量一样多的Content-Disposition.
当然,如果你使用像jQuery这样的js框架,那么大部分的管道都可以简化.这是excellent plugin应该是do the job.
内容总结
以上是互联网集市为您收集整理的如何使用包含文件和后期数据的JavaScript创建AJAX请求全部内容,希望文章能够帮你解决如何使用包含文件和后期数据的JavaScript创建AJAX请求所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。