这将与我之前的问题(Loading a php file into cross domain page with dynamic element height)讨论相同的问题,但现在尝试使用一种新方法。
我找到了一种在本地将脚本加载到ajax div中的方法,但是仍然存在跨域安全性问题,不允许xmlhttprequest调用我的其他服务器。
这里的问题仍然是,在站点A上,这是我的web服务器,我可以完全访问并托管我的脚本文件,我可以对脚本做任何我想做的事情,并使其工作。在站点B上,我没有访问主机脚本的权限。我可以在那里放置.js脚本并运行它们,但是我不能从他们的服务器上使用php,这就产生了我的问题。为了解决这个问题,我使用了一个iframe,至少可以说效率很低。它无法从它从站点A调用的php文件生成的内容中加载动态高度。我计划通过AJAX将其加载到div中来解决这个问题,但我遇到了一些问题。
我的AJAX脚本是这样的:
<pre><code>function Ajax(){
var xmlHttp;
try{
xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
}
catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("No AJAX!?");
return false;
}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
document.getElementById('ReloadThis').innerHTML=xmlHttp.responseText;
setTimeout('Ajax()',10000);
}
}
xmlHttp.open("GET","http://sitea.com/twitch_api/stream_header.php",true);
xmlHttp.send(null);
}
window.onload=function(){
setTimeout('Ajax()',10000);
}
</code></pre>那么很明显,div是在遵循脚本。
调用的脚本如下所示:
http://pastebin.com/mC8kakKJ
抱歉,无法在代码块中正确解析所有代码,但我对脚本进行了粘贴式复制
我的问题变成了。为了与easyXDM一起使用,我的脚本需要看起来像什么?我没有使用这样的库或cors的经验,所以一个示例标记将是非常棒的。
我也不是很精通javascript/ajax,这就引出了我的第二个问题。在上面列出ajax代码中,如何让div立即填充所需的文件,然后每隔300000ms (5分钟)更新一次。
任何帮助都是非常感谢的。在Enjin论坛上有一篇帖子,但没有太多人有这样深入的经验。
发布于 2013-06-17 10:08:43
你可以使用$.getJSON(),Enjin页面使用jQuery。只需确保您的服务器响应被包装在回调函数中,以便允许跨站点请求。
https://stackoverflow.com/questions/15141671
复制相似问题