高分悬赏:JS获取跨域iframe中返回值(xml)并处理解决方案
高分悬赏:JS获取跨域iframe中返回值(xml)并处理
主页面在www.a.com域中index.asp有个iframe需要获取www.b.com域中的一个PHP文件
<iframe width="0" height="0" id="myfrm" src="http://www.b.com/index.php"></iframe>
请求http://www.b.com/index.php该PHP文件会生成xml的返回值如下
<xml version="1.0" encoding="UTF-8" standalone="yes">
<Note>
<Code>返回值</Code>
</Note>
</xml>
在firefox中已经可以看到跨域请求到的数据,但怎样获取IFRAME中的数据,首先是能够获取到,第二是兼容IE,FF
直接获取
document.getElementById("myfrm").innerHTML这样直接获取是错误的
把它作为XML对象来访问
var xmldoc = document.getElementById("myfrm").contentWindow;xmldoc类型是object xmldocument,但使用doc.getElementsByTagName("code")[0].firstChild.data获取时为空
我已经被折腾了3天了,基本上已经黔驴技穷了,望高手能够指点迷津!
------解决方案--------------------
你不能直接用AJAX访问PHP文件 将返回值作为XML来处理
还有
doc.getElementsByTagName("code")[0].firstChild.data
-->这样试试 doc.getElementsByTagName("code")[0].nodeValue
------解决方案--------------------
在IFRAME外层引用多一个JSP。在JSP里面定义就是全局
------解决方案--------------------
主页面在www.a.com域中index.asp有个iframe需要获取www.b.com域中的一个PHP文件
<iframe width="0" height="0" id="myfrm" src="http://www.b.com/index.php"></iframe>
请求http://www.b.com/index.php该PHP文件会生成xml的返回值如下
<xml version="1.0" encoding="UTF-8" standalone="yes">
<Note>
<Code>返回值</Code>
</Note>
</xml>
在firefox中已经可以看到跨域请求到的数据,但怎样获取IFRAME中的数据,首先是能够获取到,第二是兼容IE,FF
直接获取
document.getElementById("myfrm").innerHTML这样直接获取是错误的
把它作为XML对象来访问
var xmldoc = document.getElementById("myfrm").contentWindow;xmldoc类型是object xmldocument,但使用doc.getElementsByTagName("code")[0].firstChild.data获取时为空
我已经被折腾了3天了,基本上已经黔驴技穷了,望高手能够指点迷津!
------解决方案--------------------
你不能直接用AJAX访问PHP文件 将返回值作为XML来处理
还有
doc.getElementsByTagName("code")[0].firstChild.data
-->这样试试 doc.getElementsByTagName("code")[0].nodeValue
------解决方案--------------------
在IFRAME外层引用多一个JSP。在JSP里面定义就是全局
------解决方案--------------------