HELP!!!! 100分!html中Javascript利用Xmlhttp传递给asp中文字符乱码!

topeak 2004-04-30 09:04:27
我看了很多资料都没解决我的问题啊
包括csdn上的关于这个问题的讨论!
另外,为什么客户端用xmlhttp.responseText得不到返回值!
是不是我的服务器端代码写的不对啊!
请大家帮我看看,
真的十分着急,

十分感谢大家!!
谢谢了!

html客户端代码如下:
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

xmlhttp.Open("POST","http://xul/pe/editUser.asp",false);

xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send(DataToSend);

if (xmlhttp.status != 200 )
{
var r=new Object()
r.error = true;
r.errortext = xmlhttp.responseText;

alert("更新失败!")
isModified=false;
return false;
}

isModified=true;

alert("更新成功!"); /////xmlhttp.responseText +

服务器端代码如下:
<!--#include FILE="conn.asp"-->
<%
Response.ContentType="text/xml"


dim username,userid,pwd,sortid,actionType,originalUserid



username=Request.Form("username")



userid=Request.Form("userid")
pwd=Request.Form("password")
sortid=Request.Form("sortid")
actionType=Request.Form("actionType")

originalUserid=userid


dim strsql
if actionType="add" then

strsql="insert into t_user(userid,username,pwd,sortid) values('"&userid&"','"&username&"','"&pwd&"','"&sortid&"')"

else
strsql="update t_user set userid='"&userid&"',username='"&username&"',pwd='"&pwd&"',sortid="&sortid&" where userid='"&originalUserid&"'"
end if

conn.execute(strsql)

Response.Write("更新数据库成功!")

%>
...全文
62 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
windancer 2004-04-30
返回用的是xmlhttp.responseBody吗
  • 打赏
  • 举报
回复
fason 2004-04-30
用responseXML
是个XMLDOM对象
  • 打赏
  • 举报
回复
topeak 2004-04-30
经过URLencoding处理后,在sever端再怎么处理?
request.form("username")后得到的数据还是乱码?
谢谢各位的帮助!
  • 打赏
  • 举报
回复
孟子E章 2004-04-30
http://www.csdn.net/Develop/read_article.asp?id=14993
  • 打赏
  • 举报
回复
windancer 2004-04-30
关键处理的几个地方
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send(URLEncoding(strA));
^^^^^^^^^^^
bytes2BSTR(xmlhttp.responseBody);
^^^^^^^^^^
  • 打赏
  • 举报
回复
windancer 2004-04-30
<script language="JavaScript">
<!--
function getcounter()
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("POST","xmlEvent.asp?action=getTime",true);
xmlhttp.send();
window.showMe.value=xmlhttp.responseText;
setTimeout("getcounter()",2000);
}
function TestPost()
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var strA="test="+document.form1.test.value;
xmlhttp.open("POST","xmlEvent.asp?action=TestPost",false);
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send(URLEncoding(strA));
window.showMe.value=bytes2BSTR(xmlhttp.responseBody);
}
//-->
</script>
<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>
  • 打赏
  • 举报
回复
GageCSDN 2004-04-30
为什么不用XML格式传递数据呢
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript
加入

8.5w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2004-04-30 09:04
社区公告
暂无公告