这与我之前的问题(Loading a php file into cross domain page with dynamic element height)大致相同,但现在尝试使用新方法。
我找到了一种方法将我的脚本加载到本地的ajax div中,但仍然存在跨域安全问题,不允许xmlhttprequest调用我的其他服务器。
这里的问题仍然是站点A,这是我完全访问并且托管我的脚本文件的我的Web服务器,我可以使用脚本做任何我想做的事情并使其工作。在站点B上,这是在Enjin服务器上,我无法访问主机脚本。我可以在那里放置.js脚本并运行它们,但是我不能从他们的服务器中使用php来创建我的问题。为了解决这个问题,我正在使用iframe,这至少可以说效率低下。它无法从它从Site 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正在遵循脚本。
这个调用的脚本是:
很抱歉,无法在代码块中正确解析所有代码,但我制作了脚本的pastebin副本
我的问题变成了。与easyXDM一起使用时,我的脚本需要什么样?我没有像这样或者像这样的库的经验,所以一个示例标记会很棒。
我也不是那些精通javascript / ajax的人,这导致了我的第二个问题。我上面列出了我的ajax代码,如何让div立即填充所需文件然后每300000ms(5分钟)更新一次。
感谢任何帮助。在Enjin论坛上发帖,但没有太多经验可以达到这个深度。
答案 0 :(得分:0)
你可以使用$ .getJSON(),Enjin页面使用jQuery。只需确保您的服务器响应包含在回调函数中,以便允许跨站点请求。