easyXDM,AJAX和Enjin

时间:2013-02-28 17:17:07

标签: php javascript ajax easyxdm

这与我之前的问题(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正在遵循脚本。

这个调用的脚本是:

http://pastebin.com/mC8kakKJ

很抱歉,无法在代码块中正确解析所有代码,但我制作了脚本的pastebin副本

我的问题变成了。与easyXDM一起使用时,我的脚本需要什么样?我没有像这样或者像这样的库的经验,所以一个示例标记会很棒。

我也不是那些精通javascript / ajax的人,这导致了我的第二个问题。我上面列出了我的ajax代码,如何让div立即填充所需文件然后每300000ms(5分钟)更新一次。

感谢任何帮助。在Enjin论坛上发帖,但没有太多经验可以达到这个深度。

1 个答案:

答案 0 :(得分:0)

你可以使用$ .getJSON(),Enjin页面使用jQuery。只需确保您的服务器响应包含在回调函数中,以便允许跨站点请求。