Я использовал PHP 5.6
Я написал php-скрипт, который читает в текстовом файле и выбирает из него случайную строку, а затем отправляет его в html всякий раз, когда нажимается кнопка «Получить случайную строку».
В Chrome / Firefox / Safari / Opera это прекрасно работает, но в Internet Explorer и Microsoft край вывод всегда один и тот же. Он работает только в первый раз и не меняет результат после первого нажатия кнопки. Я имею в виду, что для второго и последующих кликов выход должен измениться.
Есть ли что-то, что я должен обрабатывать специально для 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;
Функция xmlHttprequest GET может передавать только символы ASCII (Internet Explorer)
Вместо этого используйте POST, это обычно может решить проблему.