Я использовал PHP 5.6
Я написал скрипт php, который читает текстовый файл и выбирает из него случайную строку, а затем отправляет в html всякий раз, когда нажимается кнопка «Получить случайную строку».
В Chrome / Firefox / Safari / Opera это работает нормально, но в Internet Explorer и Microsoft edge выход всегда одинаковый. Он работает только в первый раз и не меняет вывод после первого нажатия кнопки, я имею в виду, для второго и последующих нажатий вывод должен измениться.
Есть ли что-то, что я должен обработать специально для Internet Explorer и Microsoft Edge, чтобы сделать это?
Я пытался с помощью
//flush()
//ob_flush()
//ob_end_flush()
//session_write_close()
после, а также до
echo $randomLine; //In the php script
но это не помогло.
Кто-нибудь может дать мне знать, что происходит не так? Спасибо..!!
Обновление 1:
Запрос сделан с событием нажатия кнопки через javascript:
function randomPathButtonClicked()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("randomPathId").textContent = xmlhttp.responseText;
}
};
xmlhttp.open("GET", "serverSideRandomPathGenerator.php", true);
xmlhttp.send();
}
и последняя строка в php выглядит так:
echo $selectedRandomLine;
Функция GET xmlHttprequest может передавать только символы ASCII (Internet Explorer)
Вместо этого используйте POST, это, как правило, может решить проблему.
Других решений пока нет …