>1、只要在ajax中有数据提交时,如果页面编码不是utf-8的,都应该对提交的数据进行编码,js的编码函数为escape()
2、在服务器端页接收数据后进行解码,然后对数据进行相关的处理后再编码
3、返回到客户端后再解码
4、如果没有提交数据,而是直接从服务器端获取数据,那直接在服务器页面设置Response.Charset="gb2312"即可,不用再编码解码
vbscript中分别对应js中的escape()和unescape()函数
程序代码
<%
'与javascript中的escape()等效
Function VbsEscape(str)
dim i,s,c,a
s=""
For i=1 to Len(str)
c=Mid(str,i,1)
a=ASCW(c)
If (a>=48 and a<=57) or (a>=65 and a<=90) or (a>=97 and a<=122) Then
s = s & c
ElseIf InStr("@*_+-./",c)>0 Then
s = s & c
ElseIf a>0 and a<16 Then
s = s & "%0" & Hex(a)
ElseIf a>=16 and a<256 Then
s = s & "%" & Hex(a)
Else
s = s & "%u" & Hex(a)
End If
Next
VbsEscape=s
End Function
'与javascript中的unescape()等效
Function VbsUnEscape(str)
Dim x
x=InStr(str,"%")
Do While x>0
VbsUnEscape=VbsUnEscape&Mid(str,1,x-1)
If LCase(Mid(str,x+1,1))="u" Then
VbsUnEscape=VbsUnEscape&ChrW(CLng("&H"&Mid(str,x+2,4)))
str=Mid(str,x+6)
Else
VbsUnEscape=VbsUnEscape&Chr(CLng("&H"&Mid(str,x+1,2)))
str=Mid(str,x+3)
End If
x=InStr(str,"%")
Loop
VbsUnEscape=VbsUnEscape&str
End Function
%>
来个演示:
客户端页:client.html
程序代码
<script>
//jquery的post
$.post
(
'server.asp',
{
Act:'DoSubmit',
UserName:escape('西楼冷月'),//进行编码
WebSite:'www.chinacms.org'
},
function(data)
{
alert(unescape(data));//对返回数据进行解码
}
);
</script>
服务器端页:server.asp
程序代码
<%
Response.Charset="gb2312"
Dim UserName,WebSite
If Request.Form("Act")="DoSubmit" Then
UserName=Request.Form("UserName")
WebSite =Request.Form("WebSite")
'在服务器端解码
UserName=VbsUnEscape(UserName)//解码
'处理数据
'---省略数据处理部分
'数据处理后输出,先用VbsEscape()编码
'by www.chinacms.org
Response.Write VbsEscape(UserName)
End If
%>
分享到:
相关推荐
### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...
AJAX提交中文乱码解决方法在Asp中使用JQuery AJAX(Asynchronous JavaScript and XML)是一种异步请求数据的技术,用于实现网页的局部刷新,而不需要重新加载整个网页。然而,在使用AJAX时,中文乱码问题经常会出现...
在使用Asp进行Web开发过程中,通过JQuery的AJAX方法提交表单数据时,中文字符很...通过上述方法,我们可以有效地解决在Asp中使用JQuery的AJAX提交中文时出现的乱码问题,并确保Web应用能够稳定、正确地处理中文字符。
用jquery ajax asp实现的搜索引擎的输入输出 功能点: (1)读写cookie (2)在js中获取asp请求中的数据 (3)使用jquery ajax实现的翻页功能 (4)解决通过ajax转发后,搜索结果列表中文乱码的问题
通过研究这些文件,开发者可以学习如何在自己的ASP.NET项目中集成和定制jQuery.uploadify,同时避免中文文件名乱码的问题。这个测试项目提供了一个完整的解决方案,对遇到类似问题的开发者有着很高的参考价值。
### AJAX在POST中文时解决乱码的方法 #### 一、问题背景 在使用AJAX进行数据请求时,尤其是在处理中文字符的过程中,经常会遇到一个常见问题:即通过AJAX请求得到的`responseText`中的中文字符出现乱码。这个问题...
AJAX中文乱码问题是一个常见的困扰开发者的问题,主要涉及到两个主要方面:发送请求时参数的编码和接收响应时数据的解码。...通过理解这些问题的根源并应用相应的编码和解码策略,可以有效地解决AJAX中文乱码问题。
本文将详细介绍如何解决Ajax请求中出现的中文乱码问题。 首先,我们需要理解Ajax请求的基本原理。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下,与服务器交换数据并更新部分网页的技术...
总结起来,解决JQuery.ajax传递中文参数乱码问题的核心在于: 1. 在`$.ajax`设置中指定`contentType: "application/x-www-form-urlencoded; charset=UTF-8"`。 2. 服务器端的页面响应编码(如ASP.NET的`...
自己在struts2中的写好了业务逻辑用response返回的内容却是... 您可能感兴趣的文章:ajax的responseText乱码的问题的解决方法jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXMLAjax request response 乱码解决
本篇文章主要探讨了如何解决jQuery.ajax在传递中文参数时出现的乱码问题。 首先,我们需要理解jQuery的默认设置。jQuery的ajax请求,默认的`contentType`是`application/x-www-form-urlencoded`,这个设置意味着...
JQuery是一个强大的JavaScript库,它简化了Ajax操作。本篇将详细解释如何使用JQuery实现AJAX加载XML并进行解析。 首先,我们要理解XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它的结构清晰,易于...
jQuery 乱码问题通常涉及到编码格式的不匹配,特别是在使用 AJAX 进行数据交互时。在 jQuery 中,乱码问题通常出现在数据的发送(POST)和接收(GET)过程中,尤其是涉及中文字符时。以下是对这个问题的详细分析和...
在ASP.NET开发中,乱码问题常常困扰开发者,尤其是在页面显示和数据传输过程中。...对于AJAX请求,使用合适的工具和方法,如jQuery的 `$.ajax()` 和 `$.param()`,可以有效地避免乱码问题,提高代码的可读性和维护性。
在ASP.NET中使用jQuery实现无刷新的验证用户名是否存在,是一种典型的AJAX应用,它通过异步请求与服务器交互,无需重新加载整个页面即可完成数据的校验,极大地提升了用户体验。以下是对这一知识点的详细解析: ###...
在本篇文章中,我们将深入探讨如何在Ajax模板中嵌套控件,并实现特定情况下提示对话框的方法。通过本文,读者可以了解到如何有效地在基于Ajax的Web应用中展示对话框,尤其是在用户验证或需要进行提示信息时的情景下...