js調(diào)用AJAX時(shí)Get和post的亂碼解決方法
<%
服務(wù)器端:servletactioncontext.getresponse().setcharacterencoding("utf-8");
客戶端 網(wǎng)頁(yè)特效p/jsp.html target=_blank >jsp教程: <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%>
response.expires = -9999
response.addheader "pragma","no-cache"
response.addheader "cache-ctrol","no-cache"
response.addheader "content-type","text/html; charset=gb2312"'這是重點(diǎn),否則會(huì)出現(xiàn)亂碼
response.write "中文漢字"%>
2、在使用post時(shí)用vbscript解決了編碼問(wèn)題:
源碼如下:
<script language="vbscript">
function urlencoding(vstrin)
strreturn = ""
for i = 1 to len(vstrin)
thischr = mid(vstrin,i,1)
if abs(asc(thischr)) < &hff then
strreturn = strreturn & thischr
else
innercode = asc(thischr)
if innercode < 0 then
innercode = innercode + &h10000
end if
hight8 = (innercode and &hff00) &hff
low8 = innercode and &hff
strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8)
end if
next
urlencoding = strreturn
end function
function bytes2bstr(vin)
strreturn = ""
for i = 1 to lenb(vin)
thischarcode = ascb(midb(vin,i,1))
if thischarcode < &h80 then
strreturn = strreturn & chr(thischarcode)
else
nextcharcode = ascb(midb(vin,i+1,1))
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode))
i = i + 1
end if
next
bytes2bstr = strreturn
end function
</script>
下面是使用vbscript函數(shù):
<script language=網(wǎng)頁(yè)特效>
/**
* 初始化一個(gè)xmlhttp對(duì)象
*/
function initajax()
{
var ajax=false;
try {
ajax = new activexobject("msxml2.xmlhttp");
} catch (e) {
try {
ajax = new activexobject("microsoft.xmlhttp");
} catch (e) {
ajax = false;
}
}
if (!ajax && typeof xmlhttprequest!='undefined') {
ajax = new xmlhttprequest();
}
return ajax;
}
function saveuserinfo()
{
var msg = document.getelementbyid("msg");
var f = document.user_info;
var username = f.user_name.value;
var userage = f.user_age.value;
var usersex = f.user_sex.value;
var url = "save.asp教程";
var poststr = urlencoding("user_name="+ username +"&user_age="+ userage +"&user_sex="+ usersex);//post時(shí)采用編碼傳遞
var ajax = initajax();
ajax.open("post", url, true);
ajax.setrequestheader("content-type","application/x-www-form-urlencoded");
ajax.send(poststr);
ajax.onreadystatechange = function() {
if (ajax.readystate == 4 && ajax.status == 200) {
msg.innerhtml = bytes2bstr(ajax.responsebody); //獲取時(shí)解碼
}
}
}
</script>
<form name="user_info">
姓名:<textarea name="user_name" /></textarea><br />
年齡:<input type="text" name="user_age" /><br />
性別:<input type="text" name="user_sex" /><br />
<input type="button" value="提交表單" onclick="saveuserinfo()">
</form>
<div id="msg"></div>
成功
相關(guān)文章
簡(jiǎn)單了解JavaScript中的執(zhí)行上下文和堆棧
這篇文章主要介紹了簡(jiǎn)單了解JavaScript中的執(zhí)行上下文和堆棧,你應(yīng)該對(duì)解釋器了解得更清楚:為什么在聲明它們之前可以使用某些函數(shù)或變量?以及它們的值是如何確定的?,需要的朋友可以參考下2019-06-06自己實(shí)現(xiàn)string的substring方法 人民幣小寫(xiě)轉(zhuǎn)大寫(xiě),數(shù)字反轉(zhuǎn),正則優(yōu)化
這是最近碰到的幾個(gè)題目,簡(jiǎn)單地寫(xiě)一下我自己的方案,在此分享給大家,也希望能看到大家的方案2012-09-09layui異步加載table表中某一列數(shù)據(jù)的例子
今天小編就為大家分享一篇layui異步加載table表中某一列數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09js中動(dòng)態(tài)創(chuàng)建json,動(dòng)態(tài)為json添加屬性、屬性值的實(shí)例
下面小編就為大家?guī)?lái)一篇js中動(dòng)態(tài)創(chuàng)建json,動(dòng)態(tài)為json添加屬性、屬性值的實(shí)例。小編覺(jué)的挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12javascript獲取所有同類checkbox選項(xiàng)(實(shí)例代碼)
javascript獲取所有同類checkbox選項(xiàng)的簡(jiǎn)單實(shí)例。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-11-11JS上傳圖片前實(shí)現(xiàn)圖片預(yù)覽效果的方法
這篇文章主要介紹了JS上傳圖片前實(shí)現(xiàn)圖片預(yù)覽效果的方法,涉及javascript操作圖片的技巧,需要的朋友可以參考下2015-03-03Bootstrap開(kāi)關(guān)(switch)控件學(xué)習(xí)筆記分享
這篇文章主要為大家分享了Bootstrap開(kāi)關(guān)(switch)控件學(xué)習(xí)筆記,介紹了Bootstrap開(kāi)關(guān)(switch)控件的功能、使用說(shuō)明,感興趣的小伙伴們可以參考一下2016-05-05