ajax中,多行的response.write,如何分别取出值?
本帖最后由 xilaianzxsc 于 2013-10-16 15:39:26 编辑
login.asp中:
function login_onblur()
{
var yhid=document.getElementById("yhid").value;
var url="cheshi.asp?usercode="+yhid;
request.open("GET",url,true);
request.onreadystatechange=updatepage;
request.send(null);
}
function updatepage()
{
if (request.readyState == 4 && request.status==200)
{
var response=request.responseText;
document.getElementById("gysname").value = response的第一段字符
document.getElementById("yhname").value = response的第二段字符
现存在的问题是:responseText的值能取回来了,但是分不开了.比如说上述二个value,要分别赋值的时候,就无法分离.
}
cheshi.asp中如下:
<%
sql = "select * FROM vendor_username where ...." //此处省略
conn = Server.CreateObject("ADODB.Connection")
rs = Server.CreateObject("ADODB.Recordset")
conn.ConnectionString = ........此处先省略
conn.Open() //连接数据库
rs.ActiveConnection = conn
rs.CursorType = 1 //设置游标类型
rs.LockType = 1 //设置锁定状态
rs.Open(sql) // 打开记录集.
Response.Clear
Response.Charset="gb2312"
Response.Write(rs("cvenname"));
Response.Write(rs("User_name")); //此时是二个response.write了,这二个,要分别返回到表单的二个text中去的. 现在的问题是:值可以传递,但无法分离.
Response.End;
%>
------解决方案--------------------你可以返回数组,或者json, 拼字符串等等。
------解决方案--------------------response[0],response[1]行不行?
------解决方案--------------------将返回数据拼成json,直接response.write,在js里再分别取出来,想分几个都可以实现
------解决方案--------------------简单点就用特殊符号分隔,客户端js split下就得了
Response.Write(rs("cvenname"))
Response.Write("#")
Response.Write(rs("User_name"))
var response=request.responseText;
var arr=response.split('#');//拆分成数组
document.getElementById("gysname").value = arr[0]
document.getElementById("yhname").value = arr[1]