六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

創建具有JScript的HTML的XMLHTTP

[摘要]griefforyou [原作] 親愛的 GUI 博士:我有一個關于 XML 的問題。我通過 XMLHTTP 發布一個 ASP 頁面,將數據作為 HTML 發送回來,并在 div、表格單元格或任何元素上執行 object.innerHTML。我遇到的問題是,有一次,我在 ASP 服務器頁上創建一個...

griefforyou [原作]

親愛的 GUI 博士:

我有一個關于 XML 的問題。我通過 XMLHTTP 發布一個 ASP 頁面,將數據作為 HTML 發送回來,并在 div、表格單元格或任何元素上執行 object.innerHTML。

我遇到的問題是,有一次,我在 ASP 服務器頁上創建一個表單,并將該表單以 HTML 發送回去,這樣做一切正常。但我還希望對該頁面進行客戶端驗證,因此我將一個 JScript 頁面鏈接放到了我打算發送回去的響應 HTML 的正文中。這樣做以后,腳本就無法運行了。

當我在父頁上包括實際的 JScript src 引用時,它可以正常運行。這是因為 JScript 代碼沒有加載到運行庫嗎?能否在響應 XMLHTTP post 時不返回 JScript 代碼并使它正常工作?可以為所創建的頁面即時生成 JScript 函數嗎?

我還沒有嘗試用另一種方式這樣做:通過 XMLHTTP 發布 XML 數據,然后將它作為 XML 數據發送回去,再使用 XSL 樣式表進行轉換。我猜想,可以用那種方式定義 JScript 函數。但這種方式似乎太繁雜了。您有任何建議或答案嗎?

謝謝

Peter Sung

GUI 博士的回復:

是的,Peter,您可以在響應 XMLHTTP post/get 時返回 Microsoft JScript 代碼,并使該代碼得到執行。這樣做就像先拿到一塊蛋糕,然后再吃掉它。正像您猜想得那樣,這樣做的最佳方式是利用 XSL 樣式表;一旦您使所有類型恢復正常,這很容易。GUI 博士甚至可以提供一個快捷的示例。(當然,也有其他的解決方案。只要響應按正確的順序包含正確的標頭和字符,瀏覽器將解譯響應,以便響應正常工作。如果需要,您可以利用字符串連接生成響應。)

在下面的示例中,GUI 博士在 ASP 頁中將 JScript 用于客戶端代碼和 VBScript(Microsoft Visual Basic 腳本編寫版)。采用的策略是這樣的:XML 文件只包含數據(以及對樣式表的引用)。XSL 文件包含構成完整頁面所必需的所有 HTML 格式(包括位于適當位置的腳本)。ASP 頁主要包含幾個調用,以創建 XMLHTTP 對象,將 XML 文件載入該對象中(利用隱式樣式表),并將結果 HTML 寫入響應流。

要試用這種方法,請執行下面所示的簡單步驟。使用記事本復制和粘貼,并將所有文件保存在 c:\inetpub\wwwroot 中。

1.
 創建一個包含以下 XML 文本且名為 books.xml 的文件。記下對 books.xsl 樣式表的引用。除此之外,此文件只包含數據。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="books.xsl" ?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
   </book>
</catalog>

 
2.
 然后,創建一個包含以下代碼且名為 books.xsl 的文件。此文件是第 1 步中創建的 books.xml 所引用的樣式表。它包含將上面的 XML 文件正確地格式化為 HTML 頁所必需的信息,甚至在該 HTML 頁上包括腳本。

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>Test</title>
</head>
<script language="JScript">
function Test_OnLoad()
{
var objXML = new ActiveXObject("MSXML2.DOMDocument");
objXML.async=false;
objXML.load("books.xml");
alert(objXML.xml);
objXML=null;
}
</script>
<body onload="Test_OnLoad()">
<table border="1">
<xsl:for-each select="catalog/book">
<tr>
<td>
<xsl:value-of select="author"/>
</td>
<td>
<xsl:value-of select="title"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

 
3.
 最后,創建一個包含以下代碼且名為 books.asp 的文件。此文件只用于創建 XMLHTTP 對象,為其加載 XML 文件,并將結果 HTML 寫入響應流。

<%
dim sxh
Response.contentType = "text/xml"
set sxh = Server.CreateObject("MSXML2.XMLHTTP.3.0")
sxh.open "GET","http://localhost/books.xml",false
sxh.send
Response.write sxh.responsetext
%>
 
 
4.
 打開您的瀏覽器,定位到 http://localhost/books.asp 頁。
 
5.
 您會看到顯示包含 books.xml 數據的警報。這是由 XSL 文件中的腳本完成的。您還會在網頁上的一個表中看到格式整齊的數據。這是由 XSL 代碼完成的。
 

 




主站蜘蛛池模板: 四虎永久在线日韩精品观看 | 日产精品久久久一区二区 | 亚洲成在人线久久综合 | 在线亚洲精品中文字幕美乳 | 青青草久草 | 日本狠狠干 | 午夜人屠h精品全集 | 自拍视频啪 | 片成年免费观看网站黄 | 速度与激情9全集免费观看 速度与激情9免费完整版高清 | 欧美一级视频在线观看 | 亚洲六月丁香色婷婷综合久久 | 亚洲天天综合 | 日韩黄色小说 | 欧美性色黄大片在线观看 | 伊人网视频 | 一级a毛片免费观看久久精品 | 日本一区二区三区免费在线观看 | 日本一区视频 | 亚洲黄色成人 | 青娱乐在线视频盛宴 | 亚洲乱码一二三四五六区 | 亚洲综合色在线 | 色呦呦免费 | 欧美香蕉在线 | 一本dao | 欧美又大又粗又长又硬 | 亚洲一区二区三区免费视频 | 视频免费在线观看 | 青草草视频在线观看 | 午夜网站在线观看免费网址免费 | 综合五月天婷婷丁香 | 综合久久网 | 亚洲第一黄网站 | 一级做a免费视频 | 日本免费一区二区三区a区 日本免费一二三区 | 最新国产网站 | 亚洲成a人片在线观看88 | 最新日韩精品 | 综合久久久久综合体桃花网 | 涩涩涩涩涩 |