黑马程序员PHP培训教程:Ajax文件上传由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“黑马程序员php笔记”。
Ajax文件上传
DOM方式只能获取字符串类型数据,不能获取二进制数据。可以通过FormData对象来获取二进制数据。PHP页面
HTML页面 2
window.onload=function(){ 3
document.getElementById('btn').onclick=function(){ 4
var frm=document.getElementById('frm');5
var fd=new FormData(frm);6
var req=new XMLHttpRequest();7
req.open('post','./6-demo.php');8
req.onreadystatechange=function(){ 9
if(req.readyState==4 && req.status==200){ 10
if(req.responseText=='1'){ 11
alert('上传成功');}else{ 13
} 19
} 20
alert('长传失败');
} } } req.send(fd);21
用户名: 23
头像: 24
脚下留心:通过FormData对象收集二进制数据不需要设置的enctype属性。
Ajax实现上传进度条
为了方便测试:在php.ini中设置上传的最大值 upload_max_filesize = 1024M post_max_size = 1024M onProgre事件
打印ajax对象,可以看到有一个upload属性,在upload属性中又包含了onProgre事件(但进程发生时候)