ASP与javascript的通信问题,高分求教!

bzzhang 2003-04-19 08:39:19
我用asp与sql server数据库连接取得数据后,要将数据再传给javascript脚本程序。我想到是如下的方法:
<%@ language=Jscript %>
<%
连接数据库;
取得数据parastr;
Response.Write("<form name='paraForm'>");
Response.Write("<input type='hidden' name='paraStr' value='"+parasr+"'></form>"); //用hidden 对象,javascript再从中读出。
断开连接;
%>
虽然说asp在服务器端执行后将结果给客户端,要先于脚本执行(不知道对不对),但用javascript读数据时却不是这样("varstrData=document.paraForm.paraStr.value;"出错!)。
请教各位有什么更好的方法!
...全文
10 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xxrl 2003-04-22
不客气
回复
bzzhang 2003-04-22
好了,解决问题了,首先要感谢 xxrl(孔曰成仁,孟曰取E),请去:
http://expert.csdn.net/Expert/topic/1694/1694299.xml?temp=.5271265
接受感谢。
200分学了我最难解决的问题,值!
回复
skyarea 2003-04-19
直接用服务器端的代码生成客户端的数据,这样js调用起来很方便,参考下面这段代码看看。
<script language="JavaScript">
//生成大类和小类数组的关联数组
var arrBigClass_id = new Array();
var arrBigClass_Name = new Array();
var arrSmallClass_id = new Array();
var arrSmallClass_Name = new Array();
<%
if BigClassCount>0 then
for i=0 to (BigClassCount-1)
%>
arrBigClass_id[<%=i%>] = parseInt("<%=rs_BigClass("BigClass_id")%>");
arrBigClass_Name[<%=i%>] = "<%=rs_BigClass("BigClassName")%>";
arrSmallClass_id[<%=i%>] = new Array();
arrSmallClass_Name[<%=i%>] = new Array();
<%
strSqlSM = "Select * from SmallClass where BigClass_id =" & rs_BigClass("BigClass_id")
Set rsSM = Server.CreateObject("AdoDB.RecordSet")
rsSM.Open strSqlSM,con,1,1
smCount = rsSM.RecordCount
for j=0 to (smCount-1)
%>
arrSmallClass_id[<%=i%>][<%=j%>] = parseInt("<%=rsSM("SmallClass_id")%>");
arrSmallClass_Name[<%=i%>][<%=j%>] = "<%=rsSM("SmallClassName")%>";
<%
rsSM.MoveNext
next
rsSM.Close()
Set rsSM = Nothing
rs_BigClass.MoveNext
next
end if
rs_BigClass.Close()
Set rs_BigClass = Nothing
%>

//生成纯小类数组
var arrSmallClassID = new Array();
var arrSmallClassName = new Array();
<%
strSqlSClass = "Select * From SmallClass"
Set rsSClass = Server.CreateObject("AdoDB.RecordSet")
rsSClass.Open strSqlSClass,con,1,1
SClassCount = rsSClass.RecordCount

if SClassCount>0 then
for j=0 to (SClassCount-1)
%>
arrSmallClassID[<%=j%>] = parseInt("<%=rsSClass("SmallClass_id")%>");
arrSmallClassName[<%=j%>] = "<%=rsSClass("SmallClassName")%>";
<%
rsSClass.MoveNext
next
end if
%>



</script>
回复
iduck 2003-04-19
少量的数据服务器端写cookie然后用客户端js读出来不失为一个好方法。
大量的数据还得通过一个隐藏域来实现:)
回复
fason 2003-04-19
1.可以直接先把数据一次传到客户端,用数组存起来,再用.
2.动态的用js,hiddenIframe.location.href='data.asp?id=<%=id%>'
用隐藏帧对data.asp进行改变
回复
bzzhang 2003-04-19
用javascript直接从数据库读数据是最好的方法,但我试了,受到browser的限制。我要将数据库的数据读出后,再交给javascript脚本,使之在web显示tree状(当然这javascript代码也是我在网上找的)。现在我要将数据从数据库读出后,用树的遍历算法遍历之,再用别人的接口,完成在web上显示tree效果。
谢谢: youbest(冲天飞豹) 兄,不过你的方法我想不适合我。
谁能有适合我的方法,再开贴送百分,表示感谢!
回复
xxrl 2003-04-19
<%="<script language=javascript"%>////////////这里是关键
function GetValue(){
var javascriptV;
javascriptV = <%=aspV%>;//这里接受ASP的值
}
</script>
回复
youbest 2003-04-19
<%@ language=Jscript %>
<%
连接数据库;
取得数据parastr;
Response.Write("<form name='paraForm' id='paraForm'>");
Response.Write("<input type='hidden' name='paraStr' id='paraStr' value='"+parasr+"'></form>"); //用hidden 对象,javascript再从中读出。
断开连接;
%>
<Script>
alert(paraForm.paraStr.value)
</Script>
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2003-04-19 08:39
社区公告
暂无公告