高手请进!十万火急! iframe跨域提交表单 后获取iframe的内容(访问拒绝) 已经几天了

用户昵称不能为空 2009-11-07 06:41:13
文件,网页:

表单所在页面 : http://www.baidu.com/a.htm
表单处理页面 : http://www.google.com/b.php


----------------------------------------------------
a.htm中有表单,表单的action的值是http://www.google.com/b.php,target是a.htm中的一个iframe,提交后,处理页面(另外一个网站的b.php)处理该表单,并且b.php完成后会有内容显示,内容如下:
{“response”:”error”,”message”:”errorParam”}

a.htm中表单提交后,a.htm中的JavaScript需要获取b.php文件中的内容,但是立即获取的话,显示的内容是空的,需要延迟一段时间。但是两个网页不在同一个域下面,IE就提示“访问拒绝”了。如何才可以获得到b.php中显示的内容?

----------------------------------------------------------
b.php的网址可以带参数,比如action的值是b.php?jsoncallback=alert,那么b.php页面的内容便是
alert({“response”:”error”,”message”:”errorParam”})


--------------------------------------------------
用什么方法才可以将a.htm中的表单发给b.php,并且获得b.php中的输出内容呢?
另外,b.php中的接受表单的方式必须是POST,不能用GET.

高人帮帮我啊,我不想就这样失败啊。。。。。。。。。。。。。
另外获取iframe中的内容如何兼容Firefox?(document.getElementById("ifm1").document.body.innerHTML) 在Firefox中没有反应,报错)


...全文
2591 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwkevin811 2012-03-14
  • 打赏
  • 举报
回复
可以指定b.php回调到a页面域下的页面,并且传回callback. 在该页面中通过调用parent.callback来调用父页面的JS,传入相关的B页面回来的参数即可。关键是要同域,会跳location.replace是关键。
fason 2010-03-07
  • 打赏
  • 举报
回复
You should post to your own web server, do what you want at server side and pass back the information.
xuyiazl 2009-11-11
  • 打赏
  • 举报
回复



document.getElementById('iframe1').contentWindow.document.body.innerHTML;


这个和支付宝接口有什么区别?
蓝色_冰点 2009-11-11
  • 打赏
  • 举报
回复
你的问题我也碰到过,最后得出的结论是JS跨域的话,AJAX行不通,通过iframe的方法也不行,这是浏览器决定的,无解

最佳的解决方案就是,可以用php做一个动态的JS,比如js.php 它的内空就是一段JS代码,那么就可以这样达到跨域访问的目的了,比如通过Script标签 <script src="js.php?id=1234" type="text/javascript"></script>。或者JS动态创建script标签来访问都可以
hengly88 2009-11-10
  • 打赏
  • 举报
回复
有多种解决方案。最简单的是做过server side codes proxy代理。绕过跨域。
夜雨~听风 2009-11-10
  • 打赏
  • 举报
回复
没做过跨域访问,传值的问题。但感觉楼上的方法可行。
long_hh 2009-11-09
  • 打赏
  • 举报
回复
这个就是跨域,跨服务器的问题。
用 js(包括ajax) 来处理不容易, 如果 a 服务器上能写代码问题就能解决了:
a 页面向 a 服务器提交内容, 然后 a 服务器上的php 用http方式向 b 服务器提交,a 服务器接收 b 的返回,
最后处理返回的结果。
pear 里面有个 http 包,建议去看看,
chen_xiangguo 2009-11-08
  • 打赏
  • 举报
回复
所以,你在服务器使用服务器去访问页面(你得懂php的网络编程,我是不懂。。),然后使用ajax返回该页面,懂?
看我的回帖我用java实现的
chen_xiangguo 2009-11-07
  • 打赏
  • 举报
回复
我没学过php,仅提供一些建议
js不支持跨域操作,要想从一个页面中直接得到另一个页面的内容,必须使用服务器技术实现。
我曾做过一个类似的,使用的ajax,提交是,用服务器语言获得请求网址的html,再返回页面。
~没了。

87,993

社区成员

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

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