Heim  >  Artikel  >  Backend-Entwicklung  >  ajax同步模式的浏览器兼容有关问题

ajax同步模式的浏览器兼容有关问题

WBOY
WBOYOriginal
2016-06-13 13:38:021117Durchsuche

ajax同步模式的浏览器兼容问题
upload.php

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->



<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>



f
<script> function GetXmlHttpObject() { var XMLHttp=null; try { XMLHttp=new XMLHttpRequest(); } catch(e) { try { XMLHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { XMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return XMLHttp; } function upload() { var flag=false; var XMLHttp=GetXmlHttpObject(); var url="upload_deal.php"; var dataStr="hour="+document.getElementById("hour").value; XMLHttp.open("POST",url,false); XMLHttp.setRequestHeader("content-type","application/x-www-form-urlencoded"); XMLHttp.send(dataStr); var resTest=XMLHttp.responseText; resTest=resTest.trim(); var response_compent="true"; if(resTest!=response_compent) { document.getElementById("status").innerHTML=resTest; } else flag=true; return flag; } </script>


后台upload_deal.php
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
    if($_REQUEST['hour']==1)
    {    
        echo "true";
    }
    else
    {
        echo "false";
    }



想实现将hour提交到后台判断,再根据返回值,true正确则提交表单、跳转,false错误则不提交表单、不跳转、给出提示。但是这个代码在firefox和谷歌等非ie内核的浏览器没有问题,但是使用ie(我这是9)就全部都跳转了。尝试加上回调函数的状态判断onreadystatechange,但是所有浏览器就都不执行了,一过onreadystatechange就直接到最后的return了。
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
        XMLHttp.onreadystatechange=function()
        {
            if(XMLHttp.readyState==4&&XMLHttp.status==200)
            {
                var resTest=XMLHttp.responseText;
                resTest=resTest.trim(); 
                var response_compent="true";
                if(resTest!=response_compent)
                {
                    document.getElementById("status").innerHTML=resTest;
                }
                else
                    flag=true;
                
            }
        }



------解决方案--------------------
搜了搜,javascript没有trim()方法吧? resTest=resTest.trim();
------解决方案--------------------
探讨

引用:

搜了搜,javascript没有trim()方法吧? resTest=resTest.trim();

这个还真有,不是这的问题
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn