【发布时间】:2015-01-16 17:20:11
【问题描述】:
有人可以在这里提供一些故障排除提示吗?对于非常小的数据结果子集,我的PostXML() 返回值为NULL。这适用于 99.9% 的使用率。我认为失败的数据可能有特殊字符,但与类似的数据集相比,它是相同的并且可以通过吗? File.asp 中的 oXMLDoc.xml 在调试时包含一个有效的 XML 字符串,但是当它返回到我的 JS 调用时它是 null。
在Microsoft.XMLHTTP 对象中看似有效的 XML 元素被丢弃是否存在任何已知问题?
function PostXML(sXML)
{
var oHTTPPost = new ActiveXObject("Microsoft.XMLHTTP");
oHTTPPost.Open("POST","File.asp", false);
oHTTPPost.send(sXML);
// documentElement is null???
return oHTTPPost.responseXML.documentElement;
}
文件.asp
<%
' oXMLDoc.xml contains valid XML here, but is NULL in the calling JS
Response.ContentType = "text/xml"
Response.Write oXMLDoc.xml
%>
【问题讨论】:
-
@MarcB:不,open() 的第三个参数为 false,表示同步模式。如果同步可以在 IE 中发布,我不确定;这在不久前被许多浏览器所反对......
-
啊,是的。 phoo...基本调试,看看你真正从ajax调用中得到了什么。
console.log(oHTTPPost) -
使用浏览器中的开发者工具检查响应及其 HTTP 标头
-
确保提供的 XML 上的 mime 和 char 编码是正确的。很多时候 Microsoft.XMLHTTP 不默认为 utf8
-
@Marc B oHTTPPost 是一个 [object],但
documentElement为空。
标签: javascript xml asp-classic xmlhttprequest