怎么实现跨域、异步文件上传并返回处理结果
转载的,哪里还贴了源码,自己去看吧:链接描述方式:使用form提交到跨域服务器,然后返回结果
难点解析:
1、异步:异步的话使用ajax无法提交上传文件数据,使用form可以提交文件数据,但是会默认刷新本页面,那就不是异步了。
解决方式:将form的targer设置为iframe则改为刷新iframe,这样就实现了假异步(页面不刷新)
2、跨域:因为ajax无法提交上传文件数据所以jsonp等ajax跨域方案是不行的,使用form提交刷新iframe的策略,刷新到iframe的地址是form的提交地址,因为这个地址是其他服务器,显然也会跨域。
解决方式:我们在提交的处理页面中再跳转会当前页面域名下的页面,这样iframe的地址就是当前域名了,跨域就没有了,在跳转的URL中加上返回参数就OK了。
以下是我的测试代码:
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
转载的,哪里还贴了源码,自己去看吧:链接描述
方式:使用form提交到跨域服务器,然后返回结果
难点解析:
1、异步:异步的话使用ajax无法提交上传文件数据,使用form可以提交文件数据,但是会默认刷新本页面,那就不是异步了。
解决方式:将form的targer设置为iframe则改为刷新iframe,这样就实现了假异步(页面不刷新)
2、跨域:因为ajax无法提交上传文件数据所以jsonp等ajax跨域方案是不行的,使用form提交刷新iframe的策略,刷新到iframe的地址是form的提交地址,因为这个地址是其他服务器,显然也会跨域。
解决方式:我们在提交的处理页面中再跳转会当前页面域名下的页面,这样iframe的地址就是当前域名了,跨域就没有了,在跳转的URL中加上返回参数就OK了。
以下是我的测试代码: