发一个ajax post 中文的解决方法
ajax的post方式,可以解决大容量文本信息的提交。由于页面提交的都是UTF8 编码格式。所以在服务器端接受的到也是UTF8的乱麻格式。我们可以在服务器端对UTF8 编码的请求串进行转化。具体请看下面的代码片断。
1。页面请求[code]<script language="javascript">
function submitMsgForm(){
var receiver = document.getElementById("receiver").value;
var title = document.getElementById("title").value;
var content = document.getElementById("content").value;
var params = "receiver="+receiver+"&title="+title+"&content="+content;
var url = "message.php";
sendCall(url, params);
}
</script>
<form name="form" action="" method="post">
<div id="xxxx"></div>
<TABLE>
<TR>
<TD>receiver</TD>
<TD><INPUT TYPE="text" NAME="receiver" id="receiver" ></TD>
</TR>
<TR>
<TD>title</TD>
<TD><INPUT TYPE="text" NAME="title" id="title" ></TD>
</TR>
<TR>
<TD>content</TD>
<TD><INPUT TYPE="text" NAME="content" id="content" ></TD>
</TR>
<TR>
<TD></TD>
<TD><INPUT TYPE="button" name="submit" value="submit" onclick="submitMsgForm()"></TD>
</TR>
</TABLE>
</form>
<script language="javascript">
var xmlHttp;
function sendCall(url, params) {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
xmlHttp.onreadystatechange = callBack;
xmlHttp.open('POST', url, true);
xmlHttp.setrequestheader("content-length",params.length);
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(params);
}
function callBack() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
document.getElementById("xxxx").innerHTML = xmlHttp.responseText ;
}
}
}
</script>[/code]2. server 端接受到请求并响应
[php]<?
require_once('charsethelp/charset.php');
$charset = new charset();
$receiver = $charset->utf82gb($receiver);
$title = $charset->utf82gb($title);
$content = $charset->utf82gb($content);
$content = $receiver . $title . $content;
echo $content;
exit(0);
?>[/php]
各位网友可以试试看。 附件是一个不同字符集之间转化的代码表。
:shocked:
回复: 发一个ajax post 中文的解决方法
刚才一看我的注册日期是04年。吓死人了。 我都不知道我什么时候注册过的。时间过的太快了。回复: 发一个ajax post 中文的解决方法
不错,赞一个回复: 发一个ajax post 中文的解决方法
saasd回复: 发一个ajax post 中文的解决方法
不错 顶一个!回复: 发一个ajax post 中文的解决方法
ding......回复: 发一个ajax post 中文的解决方法
打击你一下.任何一个javascript框架都可以做到post上传String.prototype.或者jquery.作为的字符串转换,无论怎么写.也不如 iconv 效率高.图方便.可以用 mb_convert_variables
回复: 发一个ajax post 中文的解决方法
今天还真帮了我一个大忙,顶楼的谢谢回复: 发一个ajax post 中文的解决方法
大家有没有人会ajax上传文件的...回复: 发一个ajax post 中文的解决方法
对, iconv可以转换字符集。 :lol:回复: 发一个ajax post 中文的解决方法
charset.php代码呢?回复: 发一个ajax post 中文的解决方法
支持回复: 发一个ajax post 中文的解决方法
好东西~~~[img]http://home.lampbrother.net/attachment/200807/16/16_12161823113ibO.jpg[/img]
[url=http://www.lampbrother.net]http://www.lampbrother.net[/url]
页:
[1]