此PHP脚本在Internet Explorer和Microsoft Edge中不起作用,但适用于Chrome / Firefox / Safari / Opera

时间:2015-11-21 19:19:05

标签: php internet-explorer microsoft-edge

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

1 个答案:

答案 0 :(得分:1)

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

使用POST代替,这通常可以解决问题。