Ajax在火狐浏览器中的兼容有关问题,程序在IE中运行正常
程序员文章站
2022-05-26 10:25:24
...
Ajax在火狐浏览器中的兼容问题,程序在IE中运行正常
var xmlHttp=false;
function createXMLHttp(){
try{
xmlHttp=new XMLHttpRequest();
}catch(trymicrosoft){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(failed){
xmlHttp=false;
}
}
}
if(!xmlHttp){
alert("无法创建 XMLHttpRequest 对象!");
}
}
function Ajaxcheck(){
var num=document.myform.uname.value;//获得表单的数据
var url="check.php?n="+num;
createXMLHttp();
xmlHttp.open("GET",url,true);//这里的true代表是异步请求
xmlHttp.onreadystatechange=updatePage;
xmlHttp.send(null);
}
function updatePage(){
if(xmlHttp.readyState==4){
var response=xmlHttp.responseText;
if(response=="ok"){
document.myform.nameerr.value="√";
return true;
}else if(response=="no"){
document.myform.nameerr.value="×用户名已占用";
return false;
}else{
document.myform.nameerr.value="服务器出现问题";
return false;
}
}
}
代码如上,我是用Ajax检测用户名是否存在,在火狐中,要是英文母的名字,可以正常,要是中文名字就判断不出来了,怎么回事啊?????
------解决方案--------------------
应该是在Ajaxcheck 发送请求的时候出错,可能是中文导致的问题,
你可以在check.php页面里面echo 用户名,看取到的是否是乱码, 如果是乱码的话用urlencode处理一下
------解决方案--------------------
var url="check.php?n="+num;
url=encodeURI(url);
------解决方案--------------------
在check.php页面里面echo 用户名,看取到的是否是乱码, 如果是乱码的话用urlencode处理一下
------解决方案--------------------
var xmlHttp=false;
function createXMLHttp(){
try{
xmlHttp=new XMLHttpRequest();
}catch(trymicrosoft){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(othermicrosoft){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(failed){
xmlHttp=false;
}
}
}
if(!xmlHttp){
alert("无法创建 XMLHttpRequest 对象!");
}
}
function Ajaxcheck(){
var num=document.myform.uname.value;//获得表单的数据
var url="check.php?n="+num;
createXMLHttp();
xmlHttp.open("GET",url,true);//这里的true代表是异步请求
xmlHttp.onreadystatechange=updatePage;
xmlHttp.send(null);
}
function updatePage(){
if(xmlHttp.readyState==4){
var response=xmlHttp.responseText;
if(response=="ok"){
document.myform.nameerr.value="√";
return true;
}else if(response=="no"){
document.myform.nameerr.value="×用户名已占用";
return false;
}else{
document.myform.nameerr.value="服务器出现问题";
return false;
}
}
}
代码如上,我是用Ajax检测用户名是否存在,在火狐中,要是英文母的名字,可以正常,要是中文名字就判断不出来了,怎么回事啊?????
------解决方案--------------------
应该是在Ajaxcheck 发送请求的时候出错,可能是中文导致的问题,
你可以在check.php页面里面echo 用户名,看取到的是否是乱码, 如果是乱码的话用urlencode处理一下
------解决方案--------------------
var url="check.php?n="+num;
url=encodeURI(url);
------解决方案--------------------
在check.php页面里面echo 用户名,看取到的是否是乱码, 如果是乱码的话用urlencode处理一下
------解决方案--------------------
相关文章
相关视频
推荐阅读
-
深大云网络在H5开发中解决IE浏览器的兼容问题
-
Ajax的get请求在IE浏览器中乱码问题的解决方案
-
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
-
Ajax在火狐浏览器中的兼容有关问题,程序在IE中运行正常
-
Ajax在火狐浏览器中的兼容有关问题,程序在IE中运行正常
-
PHP 项目在IE 和 火狐中不兼容的问题要怎么解决有图有真相
-
深大云网络在H5开发中解决IE浏览器的兼容问题
-
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题_extjs
-
iReport-关于部署在weblogic中的项目用IE访问页面加载慢但是用火狐或者谷歌浏览器访问很快的问题_html/css_WEB-ITnose
-
iReport-关于部署在weblogic中的项目用IE访问页面加载慢但是用火狐或者谷歌浏览器访问很快的问题_html/css_WEB-ITnose