Ajax 板


LINE

请问我在做档案上传使用 XMLHttpRequest LV2 想要做到一个功能,告知USER 开始上传、上传中、上传结束、上传成功四种状态 程式如下 var xhr = new XMLHttpRequest(); xhr.onload = function() { if (this.status == 200) { var jsonData = JSON.parse(this.response); if (jsonData.message != "ok") { showMsg('出错了,'+ jsonData.message , false); }else{ showMsg('上传成功,路径:'+ jsonData.return.seaveSrc , false); } }; }; xhr.upload.onprogress = function (event) { if (event.lengthComputable) { showMsg('开始上传' , false); } } xhr.upload.loadstart = function() { showMsg('开始上传' , false); }; xhr.loadEnd = function() { showMsg('上传结束' , false); }; xhr.error = function() { showMsg('上传失败' , false); }; xhr.abort = function() { showMsg('上传中断,来自使用者' , false); }; xhr.open('POST', contextRoot+"/saveImage.php",false); xhr.send(formData); 结果不行,只有onload 发生作用 经过爬文,又改成 var xhr = new XMLHttpRequest(); xhr.upload.addEventListener("loadstart", function(e) { showMsg('开始上传' , false); }); xhr.upload.addEventListener("load", function(e) { showMsg('上传结束' , false); }); xhr.open('POST', contextRoot+"/saveImage.php",false); xhr.send(formData); 结果也是不行, 档案有传到SERVER,也有回应,但是EVENT Function 没有反应, 请问哪里错了吗? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.143.146
1F:推 qwer820404:传输速度太快会有来不及反应的情形… 10/06 19:48
2F:→ danny8376:传输快也没反应进度的必要啊 都好了XDD 10/06 20:19
我刚刚试着甲地上传到乙地,上传13M档案,传了大概10多秒吧, 也没有出现预期的event ※ 编辑: pttnews 来自: 210.63.96.2 (10/07 10:07)
3F:推 qwer820404:是完全没出现吗 还是有部份 可以提供测试平台资讯 10/07 10:48
只有出现 「上传成功,路径:XXXXX」 谢谢您 目前只接受JPG 档案 ※ 编辑: pttnews 来自: 210.63.96.2 (10/07 11:39)
4F:→ danny8376:突然注意到了 你是sync啊 10/07 13:36
5F:→ danny8376:sync的话到request整个结束前JS会完全被block啦 10/07 13:36
6F:→ danny8376:自然无法触发事件 JS根本就动不了啊 10/07 13:37
7F:→ danny8376:有甚麽必须用sync的原因吗? 不然改async 10/07 13:37
耶~真的耶,我设错了,真是太感谢d大指点, 谢谢~感激万分! 但是很奇怪的是 「上传成功」、「传送中」event 都有出现,开始传送等Event并没出现 真的很感谢大大指导, 再次跟您说谢谢~ ※ 编辑: pttnews 来自: 210.63.96.2 (10/07 14:33)
8F:推 qwer820404:哇塞…小地方呀…真没注意到 (汗) 10/07 15:27
※ 编辑: pttnews 来自: 210.63.96.2 (10/07 15:40)
9F:推 qwer820404:试试addEventListener给他第三个参数 false 10/07 15:57
10F:→ qwer820404:addEventListener("loadstart", function, false) 10/07 15:58
喔~ya~ 有出现 开始上传、上传中、上传结束 等event 如qwer大所述,要加入第三个参数 补上sample code xhr.upload.addEventListener("loadstart", function(e){ showMsg('开始上传' , false); }, false); xhr.upload.addEventListener("progress", function(e){ showMsg('上传中' , false); }, false); xhr.upload.addEventListener("load", function(e){ showMsg('上传结束' , false); },false); 谢谢qwer大大, 两位大德,小弟感激於心,谢谢~ ※ 编辑: pttnews 来自: 220.135.143.146 (10/07 23:05)
11F:→ danny8376:个人都直接捡现成的uploader来用XDD 10/08 01:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP