在ajax程序要调用的asp程序中加入如下代码:
Response.ContentType = "text/html"
Response.Charset = "GB2312"   '解决乱码问题

示例:
1.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<script language="JavaScript" type="text/JavaScript">
function clearDynaList(oList){

 for (var i = oList.options.length; i >= 0; i--){
  oList.options[i] = null;
 }
 
 oList.selectedIndex = -1;
}

var xmlHttp = false;
 if (window.ActiveXObject) {
  xmlHttp = new ActiveXObject("MsXml2.XmlHttp");
 } else {
  xmlHttp = new XMLHttpRequest();
 }

function callServer(prov1,prov2) {
 
 // var prov2 = document.getElementById("prov2").value;
 // var oList2 = document.forms[form2].elements[prov2];   为何不能引用元素啊?
 
  var url = "getCity.asp?prov1=" + escape(prov1)+"&prov2="+prov2;
  xmlHttp.open("GET", url, true);
  xmlHttp.onreadystatechange = updatePage;
  xmlHttp.send(null);
}


function updatePage() {
if (xmlHttp.readyState != 4)
{loader.style.display='';
}
  if (xmlHttp.readyState == 4)   //4  表示就绪
  {
loader.style.display='none';
var prov2str1=xmlHttp.responseText;  //返回值,应该是用,隔开的字符串
//alert(prov2str1);
var prov2str=prov2str1.split(",");
//alert(prov2str[1] + prov2str.length);
var pform=eval("document.form1."+prov2str[0]);
//alert(pform);
   clearDynaList(pform);   //清空选择框

pform.options[0] = new Option("-请选择-","");   //张勇
 for (var i = 2; i < prov2str.length+1; i= i +1)
 {
   pform.options[i-2] = new Option(prov2str[i-1], prov2str[i-1]);
  }
   pform.selectedIndex = 0;
  }
}
</script>

</head>

<body>
<div >
    </select>
  </p>

  <p>第二个:</p>
  <p> 省
    <select name="select" >
    </select>
  </p>

  <p>第三个:</p>
  <p> 省
    <select name="select3"    '解决乱码问题

MM_city_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("areapro.mdb")
If (Request.QueryString("prov1") <> "") Then
  rs__MMColParam = Request.QueryString("prov1")
End If

Dim rs
Dim rs_numRows

Set rs = Server.CreateObject("ADODB.Recordset")
rs.ActiveConnection = MM_city_STRING
rs.Source = "SELECT city FROM city WHERE provinceID = '" + Replace(rs__MMColParam, "'", "''") + "' ORDER BY city ASC"
rs.CursorType = 0
rs.CursorLocation = 2
rs.LockType = 1
rs.Open()
city=request("prov2")&","
while not rs.eof
city=city&trim(rs("city"))&","
rs.movenext
wend
'要把最后一个","去掉
if right(city,1)="," then
city=left(city,len(city)-1)
end if
response.Write(city)
rs.Close()
Set rs = Nothing
%>
用到的数据库文件

相关文章: