ajax问题:怎么不支持火狐浏览器?还有就是乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax问题:怎么不支持火狐浏览器?还有就是乱码相关的知识,希望对你有一定的参考价值。

我想做个注册时验证用户名的程序,顺便练练AJAX的用法,发现汉字都变成乱码了。再就是在IE中正常,到了火狐浏览器就没反应了。

html代码如下:
<script language="javascript">
function mycheck(str)

if (window.XMLHttpRequest)
var xmlhttp_request = new XMLHttpRequest();
xmlhttp_request.overrideMimeType('text/xml');
xmlhttp_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp_request.setRequestHeader("Charset","gb2312");
else if (window.ActiveXObject)

try
var xmlhttp_request = new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
try
var xmlhttp_request= new ActiveXObject("Microsoft.XMLHTTP");
catch (e)



xmlhttp_request.open("POST","check.php?userid="+escape(str),false);
xmlhttp_request.send(null);
document.all.username.value=unescape(xmlhttp_request.responseText);

</script>
<form id="form1" name="form1" method="post" action="">
<p>
<input name="userid" type="text" id="userid" onblur="mycheck(document.all.userid.value)" />
<input name="username" type="text" id="username" />
</p>
</form>

PHP代码如下:
<?php
$varid=trim($_POST["userid"]);
if(strlen($sresult)>=6)
$sResult="符合要求";
else
$sResult="位数太少";


echo $sResult;
?>

js解析xml文件火狐浏览器好像是不支持,建议您使用jquery框架来解析xml文件,js的字符编码默认是UTF-8的,如果想使用gb2312的编码类型,服务器端的PHP代码应该先解决字符编码问题iconv(\'utf-8\', \'gb2312\', $_POST["userid"]);,最好回传之前先设置一下头文件:header(\'Content-Type:Text/xml;charset=gb2312\');
PHP服务器端的代码如下:
<?php
header(\'Content-Type:Text/xml;charset=gb2312\');
$varid=trim(iconv(\'utf-8\', \'gb2312\', $_POST["userid"]));,
if(strlen($sresult)>=6)
$sResult="符合要求";
else
$sResult="位数太少";

echo $sResult;
?>
参考技术A   您好!很高兴为您答疑!

  js解析xml文件火狐浏览器不支持,建议您使用jquery框架来解析xml文件,js的字符编码默认是UTF-8的。
  您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
参考技术B ajax默认使用urt-8编码,而我们的网页编码大部分不是这种,所以需要转换一下
我服务器用用escape("要转换的文字"),前台用unescape("转换后的文字")实现的
参考技术C 注意php文件的编码和网页当前的编码charset是不是utf-8或者一至 参考技术D 试试GET请求。

firefox出现乱码是为啥

  您好,感谢您对火狐的支持

  乱码是因为字符编码不正确造成的,打开火狐----定制,将字符编码拖至工具栏,点击打开,选择Unicode就可以了。
  您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
参考技术A 有些网站不符合WEB标准,还有这种情况一般都是出在小网站上,大网站绝无此事!你也可安装一个IE Tab扩展安装,这样就会以IE引擎打开网页了。
这是IE Tab的官方安装地址:http://addons.mozine.cn/firefox/53/
提示:在使用火狐浏览器上网的时候直接安装。
祝你好运吧!

补充:安装IE Tab关键是你要会使用啊,你安装上这个扩展之后会在状态栏上看到一个火狐的标志,你可以单击一下,你的网页就在火狐的状态下调用IE引擎打开了,肯定能行!
参考技术B 1.不能解码
2.网站的问题本回答被提问者采纳

以上是关于ajax问题:怎么不支持火狐浏览器?还有就是乱码的主要内容,如果未能解决你的问题,请参考以下文章

firefox出现乱码是为啥

火狐浏览器中文乱码怎么办 Firefox中文乱码解决方法

火狐浏览器中文显示乱码怎么办

火狐浏览器 是否不支持type="range"? 怎么就不支持呢? 页面显示的就是个文本输入框,

火狐浏览器导出EXCEL 表格,文件名乱码问题

mac火狐浏览器下载中国知网的pdf文稿,文件名称为啥是乱码?用safari下载文献正常的。配图