【发布时间】:2014-10-14 02:43:58
【问题描述】:
拜托,谁能帮助我,让我知道我做错了什么。我正在使用 ASP.NET 动态返回一个 XML 文件。这是我在 ASP.NET 中的 VB 代码
<%@ Page Language="VB" ContentType="text/xml"%>
<%@ Import namespace="System.Xml"%>
<%@ Import namespace="System.Text"%>
Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs)
Dim writer As XmlTextWriter
writer = New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
writer.WriteStartDocument()
writer.WriteStartElement("options")
writer.WriteElementString("option", "Rojo")
writer.WriteElementString("option", "Verde")
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
End Sub
然后,我尝试使用 AJAX 获取带有 responseXML 的 XML 文件,但没有任何反应。 responseXML 不检索 XML。任何帮助将不胜感激。我使用警报来查看代码是否从 responseXML 返回了某些内容。 responseXML 返回 null。
这是我使用 responseXML 的 javacript 代码。谢谢。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Using Ajax and XML</title>
<script language="javascript">
var XMLHttpRequestObject = false;
//var xmlDocument;
var options;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
/****Indicates the Firefox browser that the returned data will have a content type/
if (XMLHttpRequestObject.overrideMimeType) {
XMLHttpRequestObject.overrideMimeType("text/xml");
}
/******************************************************/
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getoptions1()
{
if (XMLHttpRequestObject)
{
XMLHttpRequestObject.open("GET", "options1.aspx", true);
//XMLHttpRequestObject.setRequestHeader("Content-Type", "text/xml");
XMLHttpRequestObject.onreadystatechange=function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
var xmlDocument = XMLHttpRequestObject.responseXML;
alert(xmlDocument);
options = xmlDocument.documentElement.getElementsByTagName("option");
alert(options.length);
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<h1>Using Ajax and XML</h1>
<form>
<select size="1" id="optionList" onchange="setoption()">
<option>Select a scheme</option>
<option>Select a scheme</option>
</select>
<input type="button" value="Use color scheme 1" onclick="getoptions1()">
<input type="button" value="Use color scheme 2" onclick="getoptions2()">
</form>
<div id="targetDiv">Set the color of this text</div>
</body>
</html>
【问题讨论】: