我现在有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", "*"); 如果不显示进度可以上传文件了。
请问我目前要显示上传进度,改怎么设置呢????????
16 个解决方案
#1
如果出错那就可能是底层的xhr上传进度有bug,只能等待浏览器发布补丁来修正了。。
#2
自己搞定了。。结贴。
#3
您好,怎么解决的能说一下吗?谢谢
#4
你好请问你是怎么搞定的
#5
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.
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.
#6
收到请回复,联系方式:398060065@qq.com
#7
楼主,我也遇到同样的问题了,求指导啊。932215832@qq.com 多谢!
#8
能将你的代码贴出来分享一下么,我遇到这类似的问题
#9
大虾:请问是怎么解决的,AJAX跨域上传文件(XMLHttpRequest)跨域问题,麻烦发到我QQ,309869947@qq.com
#10
能说下怎么解决的吗,我也出现这个问题了
#11
大侠,这个问题是怎么解决的?
#12
大侠 请问怎么解决的啊 ?求答案,请发:3076314869@qq.com
#13
楼主,请问如何实现跨域上传,我为这个困恼了好几天了,怎么试了都不行
#14
傻逼这么多吗?问了你好歹说下你的解决方案,这才是认真负责的态度把,真他妈傻逼一个我解决了就完事了!
#15
我也遇到了,底层的事情,我是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")
在函数开头加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")
#16
尼玛,说下解决方法啊
#1
如果出错那就可能是底层的xhr上传进度有bug,只能等待浏览器发布补丁来修正了。。
#2
自己搞定了。。结贴。
#3
您好,怎么解决的能说一下吗?谢谢
#4
你好请问你是怎么搞定的
#5
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.
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.
#6
收到请回复,联系方式:398060065@qq.com
#7
楼主,我也遇到同样的问题了,求指导啊。932215832@qq.com 多谢!
#8
能将你的代码贴出来分享一下么,我遇到这类似的问题
#9
大虾:请问是怎么解决的,AJAX跨域上传文件(XMLHttpRequest)跨域问题,麻烦发到我QQ,309869947@qq.com
#10
能说下怎么解决的吗,我也出现这个问题了
#11
大侠,这个问题是怎么解决的?
#12
大侠 请问怎么解决的啊 ?求答案,请发:3076314869@qq.com
#13
楼主,请问如何实现跨域上传,我为这个困恼了好几天了,怎么试了都不行
#14
傻逼这么多吗?问了你好歹说下你的解决方案,这才是认真负责的态度把,真他妈傻逼一个我解决了就完事了!
#15
我也遇到了,底层的事情,我是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")
在函数开头加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")
#16
尼玛,说下解决方法啊