没有来自 OpenLayers.Request.Post 的 XMLDocument
No XMLDocument from OpenLayers.Request.Post
我使用异步OpenLayers POST请求并通过响应文本获取此字符串:
<?xml version="1.0" encoding="UTF-8"?>
<gml:TimePeriod xmlns:gml="http://www.opengis.net/gml">
<gml:beginPosition>2011-10-18T15:15:00.000+02:00</gml:beginPosition>
<gml:endPosition>2014-11-23T14:45:00.000+01:00</gml:endPosition>
</gml:TimePeriod>
由于某种原因,我没有在XML文档对象中得到响应,我分别得到了一个空的XMLDocument。
到目前为止我的代码:
var request = OpenLayers.Request.POST({
url: "http://139.17.3.305:8080/database/sos",
async: true, //is default
data: xmlString,
callback: handler //name of triggered callback function
});
//xml 回调处理程序
function handler(request) {
var xmlText = request.responseText;
console.log(xmlText); //returns the string above
var xmlDoc = request.responseXML;
console.log(xmlDoc); // returns the empty XMLDocument
var timeArray = xmlDoc.getElementsByTagName('TimePeriod');
console.log("timeArray:",timeArray);
};
创建一个 XML 文档
function CreateXMLDocument () {
var xmlDoc = request.responseText;
if (window.DOMParser) {
var parser = new DOMParser();
xmlDoc = parser.parseFromString (xmlDoc, "text/xml");
} else if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML (xmlDoc);
}
var TimeNode = xmlDoc.getElementsByTagName ("TimePeriod");
var beginPosition = TimeNode.getAttribute ("beginPosition");
alert ("The Timeperiod is " + beginPosition);
}
知道如何将"TimePeriod"标签放入objekt"timeArray"中吗?为什么该请求适用于该字符串输出,而不适用于 XMLDocument?
我已经想通了!我通过更改几行代码在警报中收到了我请求的时间段。我交换了 XML 警报处理程序代码,并将 XML 回调处理程序排除在外。
//xml 警报处理程序
function handler(request) {
var xmlStr = request.responseText;
console.log("xmlStr:",xmlStr);
var parser=new DOMParser();
var xmlDoc=parser.parseFromString(request.responseText,"text/xml");
var gml = xmlDoc.getElementsByTagName("gml:beginPosition")[0].firstChild.data;
console.log("gml:beginPosition", gml);
alert(gml);
};
相关文章:
- 如何使用WCF服务和javascript表单post上传.doc文件
- Jquery POST未填充数组
- 如何在php文件中获取$.post-ajax传递的值
- 在POST中将html表作为csv提交
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 如何使用post方法从方法上传文件
- Django: AJAX + CSRF POST gives 403
- AJAX不会在文件上传后重定向到网页-POST方法
- 下载使用POST数据动态生成的文件
- 如何使用自定义标头跨域执行AJAX POST
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- jQuery在输入下验证post错误消息
- 在文本区域POST后解码JSON
- Node.js - POST to iFrame?
- 中止POST XHR可靠
- 当method=post时,jQueryAjax返回404
- 当我在form_for中的text_field_tag中点击Enter时,如何禁止发出POST请求
- 为什么 AJAX POST 请求不起作用
- 如何从HTTP上下文对象中获取Post数据
- 没有来自 OpenLayers.Request.Post 的 XMLDocument