繁体   English   中英

这个 PHP 脚本在 Internet Explorer 和 Microsoft Edge 中不起作用,但在 Chrome/Firefox/Safari/Opera 中有效

[英]This PHP script doesn't work in Internet explorer and Microsoft Edge but works in Chrome/Firefox/Safari/Opera

我用的是 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;

xmlHttprequest GET 函数只能传输 ASCII 字符 (Internet Explorer)

请改用 POST,这通常可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM