|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。griefforyou[原作]
敬爱的GUI博士:
我有一个关于XML的成绩。我经由过程XMLHTTP公布一个ASP页面,将数据作为HTML发送返来,并在div、表格单位格或任何元素上实行object.innerHTML。
我碰到的成绩是,有一次,我在ASP服务器页上创立一个表单,并将该表单以HTML发送归去,如许做统统一般。但我还但愿对该页面举行客户端考证,因而我将一个JScript页面链接放到了我盘算发送归去的呼应HTML的注释中。如许做今后,剧本就没法运转了。
当我在父页上包含实践的JScriptsrc援用时,它能够一般运转。这是由于JScript代码没有加载到运转库吗?可否在呼应XMLHTTPpost时不前往JScript代码并使它一般事情?能够为所创立的页面立即天生JScript函数吗?
我还没有实验用另外一种体例如许做:经由过程XMLHTTP公布XML数据,然后将它作为XML数据发送归去,再利用XSL款式表举行转换。我料想,能够用那种体例界说JScript函数。但这类体例仿佛太冗杂了。您有任何倡议或谜底吗?
感谢
PeterSung
GUI博士的复兴:
是的,Peter,您能够在呼应XMLHTTPpost/get时前往MicrosoftJScript代码,并使该代码失掉实行。如许做就像先拿到一块蛋糕,然后再吃失落它。正像您料想得那样,如许做的最好体例是使用XSL款式表;一旦您使一切范例恢复一般,这很简单。GUI博士乃至能够供应一个快速的示例。(固然,也有其他的办理计划。只需呼应按准确的按次包括准确的标头和字符,扫瞄器将解译呼应,以便呼应一般事情。假如必要,您能够使用字符串联接天生呼应。)
鄙人面的示例中,GUI博士在ASP页中将JScript用于客户端代码和VBScript(MicrosoftVisualBasic剧本编写版)。接纳的战略是如许的:XML文件只包括数据(和对款式表的援用)。XSL文件包括组成完全页面所必须的一切HTML格局(包含位于得当地位的剧本)。ASP页次要包括几个挪用,以创立XMLHTTP工具,将XML文件载进该工具中(使用隐式款式表),并将了局HTML写进呼应流。
要试用这类办法,请实行上面所示的复杂步骤。利用记事本复制和粘贴,并将一切文件保留在c:inetpubwwwroot中。
1.
创立一个包括以下XML文本且名为books.xml的文件。记下对books.xsl款式表的援用。除此以外,此文件只包括数据。
<?xmlversion="1.0"?>
<?xml-stylesheettype="text/xsl"href="books.xsl"?>
<catalog>
<bookid="bk101">
<author>Gambardella,Matthew</author>
<title>XMLDevelopersGuide</title>
</book>
<bookid="bk102">
<author>Ralls,Kim</author>
<title>MidnightRain</title>
</book>
</catalog>
2.
然后,创立一个包括以下代码且名为books.xsl的文件。此文件是第1步中创立的books.xml所援用的款式表。它包括将下面的XML文件准确地格局化为HTML页所必须的信息,乃至在该HTML页上包含剧本。
<?xmlversion="1.0"encoding="UTF-8"?>
<xsl:stylesheetversion="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:outputmethod="html"indent="yes"/>
<xsl:templatematch="/">
<html>
<head>
<title>Test</title>
</head>
<scriptlanguage="JScript">
functionTest_OnLoad()
{
varobjXML=newActiveXObject("MSXML2.DOMDocument");
objXML.async=false;
objXML.load("books.xml");
alert(objXML.xml);
objXML=null;
}
</script>
<body>
<tableborder="1">
<xsl:for-eachselect="catalog/book">
<tr>
<td>
<xsl:value-ofselect="author"/>
</td>
<td>
<xsl:value-ofselect="title"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
3.
最初,创立一个包括以下代码且名为books.asp的文件。此文件只用于创立XMLHTTP工具,为其加载XML文件,并将了局HTML写进呼应流。
<%
dimsxh
Response.contentType="text/xml"
setsxh=Server.CreateObject("MSXML2.XMLHTTP.3.0")
sxh.open"GET","http://localhost/books.xml",false
sxh.send
Response.writesxh.responsetext
%>
4.
翻开您的扫瞄器,定位到http://localhost/books.asp页。
5.
您会看到显现包括books.xml数据的警报。这是由XSL文件中的剧本完成的。您还会在网页上的一个表中看到格局划一的数据。这是由XSL代码完成的。
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 |
|