JS 未将 php 加载到 div,网站特定行为
JS not loading php into div, website specific behaviour
我有两个 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(如您所见,我不喜欢使用它),并且都具有相同的模板。我似乎发现的唯一线索是,当我在网站其他地方的文本 links 中附加了指向自身的查询语句 (index.php?blastr=bla&drivelstr=drivel) 时,浏览器显示 index.php/ 前面提到的 link。
我调试了脚本,在无法正常运行的网站中,它挂在 xmlhttp3.send 行。
我知道人们拥护 jquery 的 load() 函数的优点来替代它,但我无法让它工作(可能是因为模板使用的 jquery 版本更高比 1.8.1 被弃用时)。所以我宁愿坚持使用 base js。
关于这种不一致的行为有什么想法吗?
这应该是评论,但还不能:(
我会检查您的配置文件中的这一行:
public $live_site = '';
并查看故障站点中是否有除 '' 之外的内容。
我发现它是什么了,我一定是在我的网站上安装了两个不同版本的 Jumi 应用程序。一个网站在 components/com_jumi/views/application 下有一个名为 view.raw.php 的文件,而另一个网站则没有。这意味着无法解释 index.php 字符串中的 format=raw 并导致空响应。
我只是将该文件复制到它丢失的其他网站,然后一切正常。不过谢谢你的回复。
我有两个 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(如您所见,我不喜欢使用它),并且都具有相同的模板。我似乎发现的唯一线索是,当我在网站其他地方的文本 links 中附加了指向自身的查询语句 (index.php?blastr=bla&drivelstr=drivel) 时,浏览器显示 index.php/ 前面提到的 link。
我调试了脚本,在无法正常运行的网站中,它挂在 xmlhttp3.send 行。
我知道人们拥护 jquery 的 load() 函数的优点来替代它,但我无法让它工作(可能是因为模板使用的 jquery 版本更高比 1.8.1 被弃用时)。所以我宁愿坚持使用 base js。
关于这种不一致的行为有什么想法吗?
这应该是评论,但还不能:( 我会检查您的配置文件中的这一行:
public $live_site = '';
并查看故障站点中是否有除 '' 之外的内容。
我发现它是什么了,我一定是在我的网站上安装了两个不同版本的 Jumi 应用程序。一个网站在 components/com_jumi/views/application 下有一个名为 view.raw.php 的文件,而另一个网站则没有。这意味着无法解释 index.php 字符串中的 format=raw 并导致空响应。
我只是将该文件复制到它丢失的其他网站,然后一切正常。不过谢谢你的回复。