ajax问题:怎么不支持火狐浏览器?还有就是乱码 10
我想做个注册时验证用户名的程序,顺便练练AJAX的用法,发现汉字都变成乱码了。再就是在IE中正常,到了火狐浏览器就没反应了。HTML代码如下:<scriptlanguag...
我想做个注册时验证用户名的程序,顺便练练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;
?> 展开
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;
?> 展开
5个回答
展开全部
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;
?>
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;
?>
展开全部
您好!很高兴为您答疑!
js解析xml文件火狐浏览器不支持,建议您使用jquery框架来解析xml文件,js的字符编码默认是UTF-8的。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
js解析xml文件火狐浏览器不支持,建议您使用jquery框架来解析xml文件,js的字符编码默认是UTF-8的。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax默认使用urt-8编码,而我们的网页编码大部分不是这种,所以需要转换一下
我服务器用用escape("要转换的文字"),前台用unescape("转换后的文字")实现的
我服务器用用escape("要转换的文字"),前台用unescape("转换后的文字")实现的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意php文件的编码和网页当前的编码charset是不是utf-8或者一至
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询