要做一个本地上传图片的功能,不能用ajax,于是用表单提交来操作,但是有个问题,提交之后页面会跳转到form下action里的地址,那里会有提交成功与否的信息。为了解决这个问题,用了隐藏iframe的办法。如下:
<form action="http://other.htm" method="post" enctype="multipart/form-data" target="blank" id="upForm"> <input id="file1" type="file" name="upload" /> </form>
<iframe src="" style="display:none" frameborder="0" name="blank" id="ifr"></iframe>
这样上传提交之后跳转页面就转到隐藏iframe中去了,但是问题来了,我怎么访问iframe里后台返回的信息呢,因为有同源策略的限制。请大家帮忙想想办法。
如果仅仅是获取iframe返回的数据,通过页面的脚本是可以访问子Iframe中的页面的内容的。
不支持jquery .用javascript也是可以的.
不行啊,chrome控制台报错信息
Unsafe JavaScript attempt to access frame with URL a.htm from frame with URL http://localhost:8080/b.htm Domains, protocols and ports must match.
@破秋风: 嗯,看异常是跨域了。跨域的问题不好解决,应用中只能是尽可能的回避或者使用代理。
如果表单提交的页面所属系统为其它三方系统,唯一的办法就是在服务端增加代理〔httpclient〕,这样就没有跨域的问题。
如果表单提交的系统也是自己开发的,而且允许配置策略文件的话.通过配置策略可以实现允许跨域访问,但要慎用,视情况而定吧。
用Flash上傳圖片控件來做吧。
手机端的,不能用flash和jquery