AJAX跨域上传文件(XMLHttpRequest),可以上传,但是进度有问题。

apple058 2014-09-27 09:27:39
各位同仁:
我现在有2个工程,一个文件服务器(servlet实现上传), 一个web展示。部署到两台服务器上。
现在需要web 能 往文件工程servlet上传,采用XMLHttpRequest提交数据,希望有上传进度效果。

现在已经解决了跨域问题,可以进行文件上传。但是就进度事件支持不了,开放就报错(说不支持跨域)。

var xmlhttprequest = new XMLHttpRequest();
xmlhttprequest.open("POST","http://www.fileService.com",true);
xmlhttprequest.onreadystatechange = function(){//这个事件没问题
if(4==xmlhttprequest.readyState&&xmlhttprequest.status==200){}
};
/*** 现在就是这个事件一释放就报错
xmlhttprequest.upload.addEventListener("progress",function uploadProgress(evt){
alert(evt.loaded);
},false);
***/
var form = new FormData();
form["enctype"]="multipart/form-data";
//.....................
form.append("fileName",file.name);
form.append("myFile",blob);
xmlhttprequest.send(form);

服务器那边已经设置;response.addHeader("Access-Control-Allow-Origin", "*"); 如果不显示进度可以上传文件了。
请问我目前要显示上传进度,改怎么设置呢????????
...全文
1444 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoontyaw 2017-03-24
  • 打赏
  • 举报
回复
尼玛,说下解决方法啊
Fanticsen 2017-03-13
  • 打赏
  • 举报
回复
我也遇到了,底层的事情,我是golang,其它语言的不懂。 在函数开头加w.Header().Set("Access-Control-Allow-Origin", "*") 然后在底层定义URL地方加上OPTIONS方法。 函数内容w.Header().Set("Content-Type", "application/json") w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE,PUT") w.Header().Set("Access-Control-Max-Age", "3600")
wondaymh 2017-02-28
  • 打赏
  • 举报
回复
傻逼这么多吗?问了你好歹说下你的解决方案,这才是认真负责的态度把,真他妈傻逼一个我解决了就完事了!
鱼头506 2016-12-31
  • 打赏
  • 举报
回复
楼主,请问如何实现跨域上传,我为这个困恼了好几天了,怎么试了都不行
小草L鱼 2016-08-11
  • 打赏
  • 举报
回复
大侠 请问怎么解决的啊 ?求答案,请发:3076314869@qq.com
xzmn_123 2016-07-06
  • 打赏
  • 举报
回复
大侠,这个问题是怎么解决的?
薛小杰 2016-06-22
  • 打赏
  • 举报
回复
能说下怎么解决的吗,我也出现这个问题了
yygywqf 2016-05-03
  • 打赏
  • 举报
回复
大虾:请问是怎么解决的,AJAX跨域上传文件(XMLHttpRequest)跨域问题,麻烦发到我QQ,309869947@qq.com
itgraph 2015-12-30
  • 打赏
  • 举报
回复
能将你的代码贴出来分享一下么,我遇到这类似的问题
mengchen129 2015-11-26
  • 打赏
  • 举报
回复
楼主,我也遇到同样的问题了,求指导啊。932215832@qq.com 多谢!
zhongzhou2012 2015-07-27
  • 打赏
  • 举报
回复
收到请回复,联系方式:398060065@qq.com
zhongzhou2012 2015-07-27
  • 打赏
  • 举报
回复
XMLHttpRequest 跨域问题我试过了 , XMLHttpRequest cannot load http://localhost:8081/AA/uploadServletDemo. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.
baidu_18595281 2015-06-16
  • 打赏
  • 举报
回复
你好请问你是怎么搞定的
apple058 2014-10-10
  • 打赏
  • 举报
回复
自己搞定了。。结贴。
little羊儿 2014-10-10
  • 打赏
  • 举报
回复
您好,怎么解决的能说一下吗?谢谢
Go 旅城通票 2014-09-28
  • 打赏
  • 举报
回复
如果出错那就可能是底层的xhr上传进度有bug,只能等待浏览器发布补丁来修正了。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧