У меня есть два приложения 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 (которые, как видите, я не люблю использовать), и у обоих одинаковые шаблоны. Единственная подсказка, которую я, кажется, нашел, заключается в том, что когда у меня есть текстовые ссылки в другом месте на сайте, прикрепленные с запросами, указывающими на себя (index.php? Blastr = bla & drivelstr = drivel), браузер показывает index.php /, добавленный к упомянутой ссылке выше.

Я отладил сценарий, и на неработающем веб-сайте он зависает в строке xmlhttp3.send.

Я знаю, что люди поддерживают красоту функции jquery load () в качестве замены этой функции, но я не могу заставить ее работать (вероятно, потому, что в шаблонах используются версии jquery выше 1.8.1, когда она устарела). Так что я бы предпочел использовать base js.

Есть идеи об этом непоследовательном поведении?

0
Julian Keogh 21 Апр 2016 в 20:06

2 ответа

Лучший ответ

Я выяснил, что это такое, должно быть, я действительно установил на свои веб-сайты две разные версии приложения Jumi. на одном веб-сайте в каталоге components / com_jumi / views / application был файл с именем view.raw.php, а на другом его не было. Это означало, что формат = raw в строке index.php не мог быть интерпретирован и вызвал нулевой ответ.

Я просто скопировал файл на другой сайт, где он отсутствовал, и после этого все заработало. Но спасибо за ответ.

0
Julian Keogh 6 Май 2016 в 10:29

Это должен быть комментарий, но пока нельзя :( Я бы проверил ваш файл конфигурации на эту строку:

public $live_site = '';

И посмотрите, есть ли что-то еще на неисправном сайте ''.

0
user3080408 22 Апр 2016 в 22:51