jquery之ajaxfileupload异步跨域上传
我的问题是:文件能正常上传,但是前台拿不到文件上传的路径?总是进入ERROR
url:'http://192.168.1.67:8080/upload/fileConfig.do?method=upload', secureuri:false,
data:{'uploadObj':$('#uploadObj').vaL(),'previewObj':$('#previewObj').val(),'sizeLimit':$('#sizeLimit').val(),'allowedType':$('#allowedType').val(),'uploadType':$('#uploadType').val()},
fileElementId:'qqfile',//input框的ID
dataType: 'json',//返回数据类型
success: function (data, status){//上传成功
//从data中获取数据,进行处理
alert("11111111");
},error: function (data, status, e){
alert("333333");
alert(e);
}
------解决方案--------------------ajaxfileupload使用iframe来模拟无刷新上传的,表单提交到iframe中,js无法获取跨域的iframe的内容,所以能上传,无法获取iframe中最后加载的内容
如果你能控制跨域的上传页面,可以参考这篇文章:javascript通过iframe加载同源代理页面实现顶级域跨域操作
不能就无解了,只能输出alert语句提示是否能上传功能
------解决方案--------------------骚年,要添加个ajaxFileUpload里面的方法,网上有的,我刚做过,要加一个异常处理的方法,不然老是会报错,而且不能上传大于1个G的文件,用tomcat的话,会先把文件上传到临时文件夹内,然后报内存溢出,我没解决的了,就换了个ftp的方法上传了;
------解决方案--------------------
那就悲剧了,公司把网禁了,只有这种方式能交流了,你把错误贴google里搜索下,很多解决方法的。ftp这种上传方式你就别试了,需要一个ftp服务器的。
------解决方案--------------------先了解一下ajax文件上传原理,参见
http://blog.csdn.net/wzs_xyz/article/details/9763861
服务端把响应放到了iframe中,
而跨域情况下主页面无权访问iframe中内容,所以会报错;
你可以让站点http://192.168.1.67:8080提供一个跨域访问的方式比如响应中iframe加载一个你的页面来传递参数;需要对前端有较深理解才能处理好
若站点http://192.168.1.67:8080不受你控制,则无解