【发布时间】:2026-01-08 12:10:02
【问题描述】:
我在用 Javascript 加载 XML 数据时遇到问题。但是,如果我在经典 ASP 中加载相同的 XML,它可以工作,但如果我在 Javascript 中加载相同的 XML,它会失败。
这是在经典 ASP 中加载 XML 的代码 sn-p 并且运行良好。
set ObjXMLDom = nothing
set ObjXMLDom = server.CreateObject("Microsoft.XMLDOM")
ObjXMLDom.async = False
set objSvr = Server.CreateObject("myComMethod.MyComMethod.1")
ObjXMLDom.loadXML(objSvr.GetHierarchyXML()) 'XML loads perfectly fine from server. even if the special character is Dash –
Response.Write(ObjXMLDom.xml)
用 Javascript 代码加载 XML,但对于某些特殊字符会失败。
$.ajax("get_xml_from_server.asp", {
type: 'GET',
data: { name: groupID, session: sesionID, Employee: empID },
beforeSend: function () {
},
success: function (data, status, jqXhr) {
//Data has got the XML string, we can see it by putting alert
alert(data);
var myXML = new ActiveXObject("Microsoft.XMLDOM");
myXML.async = false;
myXML.loadXML(data); //Here it fails for some special characters like Dash –
if (myXML.parseError.errorCode != 0)
{
var myErr = myXML.parseError;
alert("You have error " + myErr.reason + myErr.line + myErr.srcText);
}
else {
alert(myXML.xml);
}
【问题讨论】:
-
jQuery 可以自动解析 xml,如果 asp 脚本没有发送正确的内容类型,则将您传递给
$.ajax的选项对象的dataType属性设置为。或者你甚至可以使用DOMParser to parse xml -
嗨,谢谢,我尝试了 Dom 解析器,但是 parser.parseFromString(stringContainingXMLSource, "application/xml");这一行给出了语法错误。任何帮助
-
这只是意味着您在某个地方有错字,只需返回并检查您的语法。它应该看起来像:
parser = new DOMParser; xml = parser.parseFromString(data,'application/xml')其中data是来自您的回调的参数 -
我尝试了您推荐的方式,但失败了。通过 ASP 和 Javascript 加载 XML 有区别吗?
标签: javascript jquery ajax xml xml-parsing