asp接收ajax乱码_Asp中处理AJAX乱码问题总结
AJAX中的這樣寫法:
XMLHttpReq.open('get',"getsubcategory.asp?BigClassName="+BigClassName+"&number="+Math.random(),true);//get方法
的話如果是傳的是一個(gè)中文的話。那就會(huì)有亂碼了?怎么處理呢?
我發(fā)現(xiàn)了一個(gè)調(diào)試AJAX的方法,就是將服務(wù)器端的值傳回來就可以了。這樣就可以知道哦。這個(gè)值到底是多少了。
對(duì)AJAX中亂碼問題小議:
看了一篇網(wǎng)友的文章 受益不淺啊哈哈拿出來一起分享一下:
1,只要在ajax中有數(shù)據(jù)提交時(shí),如果頁面編碼不是utf-8的,都應(yīng)該對(duì)提交的數(shù)據(jù)進(jìn)行編碼,js的編碼函數(shù)為escape()
2,在服務(wù)器端頁接收數(shù)據(jù)后進(jìn)行解碼,然后對(duì)數(shù)據(jù)進(jìn)行相關(guān)的處理后再編碼
3,返回到客戶端后再解碼
4,如果沒有提交數(shù)據(jù),而是直接從服務(wù)器端獲取數(shù)據(jù),那直接在服務(wù)器頁面設(shè)置Response.Charset="gb2312"即可,不用再編碼解碼
vbscript中分別對(duì)應(yīng)js中的escape()和unescape()函數(shù)
客戶端通過escape(str)編碼? --->??? 服務(wù)器端解碼:他是用VbsEscape(data)'后面我會(huì)把這個(gè)方法源碼寫出來分享
[服務(wù)器端得到了解碼后的數(shù)據(jù)就可以進(jìn)行操作了,比如進(jìn)行SQL查詢之類的操作]
[就是說我們?cè)赨RL中傳遞的就是二進(jìn)制數(shù)據(jù)流,先在客戶端進(jìn)行編碼處理? 到了服務(wù)器端由于 是二進(jìn)制的數(shù)據(jù)所以要先進(jìn)行解碼處理然后可以拿到真實(shí)的數(shù)據(jù)了,然后就可以進(jìn)行操作]
處理完了之后服務(wù)器端就會(huì)將值傳送回去到客戶端那它也要進(jìn)行編碼處理VbsEscape(data)
傳回到了客戶端也要進(jìn)行解碼操作UnEscape()解碼處理。
哈哈,記得一點(diǎn)客戶端與服務(wù)器端的編碼與解碼處理。
附VB中的兩個(gè)函數(shù):
'與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
%>
確實(shí)給我感覺收獲不少,哈哈。相信以后在ASP中遇到 中文問題不會(huì)有什么困難處理了!
閱讀(1594) | 評(píng)論(0) | 轉(zhuǎn)發(fā)(0) |
總結(jié)
以上是生活随笔為你收集整理的asp接收ajax乱码_Asp中处理AJAX乱码问题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南方s730手簿说明书_最新S730手簿
- 下一篇: echars x轴单位_echarts