JS没有将php加载到div,网站特定行为

时间:2016-04-21 17:06:52

标签: xmlhttprequest responsetext

我有两个joomla应用程序,它们具有完全相同的版本,相同的全局配置设置,并且我使用以下函数设置了一个测试应用程序,以将php加载到特定页面上的div中。

   function getDiv(str) {
   var id = document.getElementById("appselector").value; 
    if (id == "") {
    document.getElementById("scoffitcategoryedit").innerHTML = "";
    return;
} 
else {
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp3 = new XMLHttpRequest();

    } else {
        // code for IE6, IE5
        xmlhttp3 = new ActiveXObject("Microsoft.XMLHTTP");

    }
     xmlhttp3.onreadystatechange = function() {
        if (xmlhttp3.readyState == 4 && xmlhttp3.status == 200) {
            document.getElementById("scoffitcategoryedit").innerHTML = xmlhttp3.responseText;
            alert("WTF");
        }
    };
    xmlhttp3.open("GET","index.php?option=com_jumi&fileid=23&    format=raw&" + str + id, true);
    xmlhttp3.send();
}
}

我知道它有点啰嗦,但问题是该脚本在一个网站中运行正常,但在另一个网站中运行不正常。他们两个都加载相同版本的jquery(你可以看到我不喜欢使用),并且两者都有相同的模板。我似乎发现的唯一线索是,当我在网站上的其他地方附加文本链接时,查询语句指向self(index.php?blastr = bla& drivelstr = drivel),浏览器显示index.php / prepended to the上面提到的链接。

我调试了脚本,在非功能网站上它挂起在xmlhttp3.send行。

我知道人们支持使用jquery的load()函数来代替它,但是我无法使它工作(可能是因为模板在不推荐使用时使用的jquery版本高于1.8.1 )。所以我宁愿坚持使用基础js。

关于这种不一致行为的任何想法?

2 个答案:

答案 0 :(得分:0)

这应该是评论,但还不能:( 我会检查一下你的配置文件:

public $live_site = '';

并查看失败网站中是否有某些内容除了''。

答案 1 :(得分:0)

我发现它是什么,我必须在我的网站上实际安装了两个不同版本的Jumi应用程序。一个网站在components / com_jumi / views / application下有一个名为view.raw.php的文件,而另一个没有。这意味着无法解释index.php字符串中的format = raw并导致null响应。

我只是将文件复制到丢失的其他网站,然后一切正常。但感谢您的回应。