不想使用webservice.htc
//***************************************服务*********************************
public string Getinfo(string userid)
{

string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
strConn+=Server.MapPath("data.mdb");
//生成一个新的连接
OleDbConnection myConn = new  OleDbConnection(strConn) ;
myConn.Open ();
//特殊字符:+,%,&,=,?等的传输解决办法.客户端字符是经过escape编码的
//所以服务器端先要经过unescape解码.
//Update:
string user = Regex.Unescape(userid);
string sResult="";
string sql = "select username from users where userid='"+userid+"'";
OleDbCommand mycmd = new OleDbCommand(sql,myConn); 
OleDbDataReader mydat = mycmd.ExecuteReader(); 
if(mydat.Read())
{
sResult = mydat["username"].ToString ();
mydat.Close();
myConn.Close();
}
else
{
//加入容错.
sResult = "Sorry,数据库中无此用户...";
mydat.Close ();
myConn.Close ();
}
//escape解决了XMLHTTP。中文处理的问题.


return Regex.Escape(sResult);
}
//*******************************************JavaScript****************
<script language="JavaScript">
function GetResult(str)
{
    var oBao = new ActiveXObject("Microsoft.XMLHTTP");
        oBao.open("POST","是不是service.asm/Getinfo?userid=test",false);//传过去的参数为test
        oBao.send();
    //服务器端处理返回的是经过escape编码的字符串.
        document.all.tst.innerText= unescape(oBao.responseText); //将返回的值写在tst上    
        
}
</script>

解决方案 »

  1.   

    pls refer to this post for xmlhttp methods:http://community.csdn.net/Expert/TopicView.asp?id=3785525
      

  2.   

    我的意思是我的用法不正确,求正确的javascript的代码:)谢谢
      

  3.   

    为这么个查询功能做这么多事好象不太值得。 你就直接前台post过去就是了。如果你用xmlhttp仅仅是为了不刷新的话,那么你要学习一下html,其实post get一样的可以不闪屏或闪的次数很少。
      

  4.   

    这篇文章看有没有用:http://www.cnblogs.com/zhenyulu/archive/2004/07/17/25221.aspx
      

  5.   

    终于把问题搞定,但是现在得到的字符串是:
    <?xml version="1.0" encoding="utf-8" ?> 
      <string xmlns="http://tempuri.org/">7776</string> 
    这样的形式,页我现在只取里面的7776应该怎么做啊?