Home > Backend Development > PHP Tutorial > ajax同步模式的浏览器兼容有关问题

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

WBOY
Release: 2016-06-13 10:15:43
Original
751 people have browsed it

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>
Copy after login
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";    }
Copy after login


想实现将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;                            }        }
Copy after login


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

引用:

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

这个还真有,不是这的问题
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template