使用ASP将查询结果插入javascript数组

使用ASP将查询结果插入javascript数组,javascript,asp-classic,Javascript,Asp Classic,我想将查询结果插入javascript数组 我有一个问题:结果可能是HTML标记,所以我尝试对字符串进行编码。 但它不起作用 这是我的密码: Response.Write "<script type='text/javascript'>"& vbCrLf Response.Write "var myArr = new Array();" z=0 Do While not rsScadenze.EOF If (rsScadenze("scadenza")<&

我想将查询结果插入javascript数组

我有一个问题:结果可能是HTML标记,所以我尝试对字符串进行编码。 但它不起作用

这是我的密码:

Response.Write "<script type='text/javascript'>"& vbCrLf
Response.Write "var myArr = new Array();"
z=0     
Do While not rsScadenze.EOF


If (rsScadenze("scadenza")<> "") Then

    encodeString =Server.HtmlEncode(rsScadenze("testo"))

    Response.Write "myArr["& z &"]=('"& encodeString &"');"& vbCrLf

    z=z+1

End If
rsScadenze.MoveNext
Loop

Response.Write "</script>"
rsScadenze.close
Response.Write”“&vbCrLf
Response.Write“var myArr=new Array();”
z=0
而不是rsScadenze.EOF
如果(rsScadenze(“scadenza”)),那么
encodeString=Server.HtmlEncode(rsScadenze(“testo”))
响应。写入“myArr[”&z&“]=(“&encodeString&“);”&vbCrLf
z=z+1
如果结束
rsScadenze.MoveNext
环
响应。写入“”
rsScadenze.close
我该怎么办

谢谢你帮助我

谢谢你的准确回答。 我做了些改变,但还是不行,我快疯了。HTML不会生成任何内容,只是一张没有错误的空白页。 因此,我查看了我的代码生成的页面源代码:

<script>
var myArr = new Array();
myArr[0]=('&lt;div style=&quot;text-align: justify&quot;&gt;&lt;span style=& quot;font-size: 11pt&quot;&gt;Per i contribuenti che effettuano operazioni con operatori economici aventi sede, residenza o domicilio negli Stati o territori dei Paesi c.d. &amp;ldquo;&lt;i&gt;black-list&lt;/i&gt;&amp;rdquo; scade oggi il termine di presentazione degli elenchi riepilogativi delle operazioni effettate nel mese precedente, per i contribuenti tenuti a questo adempimento con cadenza mensile.&lt;/span&gt;&lt;/div&gt;');
document.write (myArr[0]);
... and so on, until the last element of my array

var myArr=新数组();
myArr[0]=('div style=“text align:justify”span style=”字体大小:11pt"根据我对经济合作大道的贡献,根据我的贡献,我将“iblack list/i&rdquo;scade oggi il TERMINATION degli elenchi riepilogativi delle OPERAZION EFFETTATATATATE nel EXCENTE nel EXCENTE”,居住在Paesi c.d地区的国家统计局nza mensile./span/div');
document.write(myArr[0]);
... 依此类推,直到数组的最后一个元素
我尝试更改encodeString的内容,手动编写字符串(encodeString=“…”),在本例中,代码运行良好

为什么?


非常感谢

您还需要引用数组元素名称:

Response.Write "myArr['"& z &"']=('"& encodeString &"');"& vbCrLf
尝试一些事情

首先,将以[script]开头的字符串拆分为如下内容

response.write“正在编写response.write

对更靠近的人也这样做

response.write”“

这样使用脚本和/或脚本会混淆asp.dll

这是一个通用的技巧,所以一定要按照我的建议去做

至于你的代码,你可以试试这个

改变
如果rsScadenze(“scadenza”)”),则

如果“&rsScadenze(“scadenza”)”),则
这样,您也可以捕获空值

改变
encodeString=Server.HtmlEncode(rsScadenze(“testo”))
encodeString=Server.HtmlEncode(rsScadenze(“testo”))

encodeString=replace(encodeString,vbcrlf,”,1,-1,1)

encodeString=replace(encodeString,vbcr,”,1,-1,1)

encodeString=replace(encodeString,vblf,”,1,-1,1)

`“上述三条线将解决任何断线问题

encodeString=replace(encodeString,“”,“”,1,-1,1)

”上面的行将处理“

代码的其余部分看起来很好

尝试这些建议,让我们知道,但这一次包括html(或错误)生成的pls


HTH

我试着引用数组元素,但仍然不起作用。是否可以将错误写入Server.HTMLEncode?-好像是在写内容。如果你只得到一张空白页,肯定还有别的事情发生。