将“下载网址”更改为“搜索网址”XML数据

时间:2011-11-18 16:25:21

标签: javascript xml

我想知道是否有人可以帮助我。

我已将this页面放在一起,这将为用户提供加载标记的功能,并选择或取消选中复选框。然后,他们将能够点击这些标记,这些标记又显示给定半径内最近的POI。

我遇到的问题是在143-145行加载xml:

downloadUrl("loadmylocations.php", function(data) {  
var xml = data.responseXML; 
var markers = xml.documentElement.getElementsByTagName("marker")

Firefox告诉我错误是'xml未定义'。我想我知道为什么,那是因为我正在使用这段代码为POI提取数据。

    var radius = document.getElementById('radiusSelect').value;
    var searchUrl = 'searchsites.php?siteosgb36lat=' + center.lat() + '&siteosgb36lon=' + center.lng() + '&radius=' + radius;
    downloadUrl(searchUrl, function(data) {
        var xml = parseXml(data);

所以他们发生冲突,因为我在脚本末尾定义了不同的XML,这些是

loadmylocations.php

    request.open('GET', url, true); 
    request.send(null); 
    } 

    function doNothing() {} 

searchsites.php

            request.open('GET', url, true);
            request.send(null);
            }

            function parseXml(str) {
            if (window.ActiveXObject) {
            var doc = new ActiveXObject('Microsoft.XMLDOM');
            doc.loadXML(str);
            return doc;
            } else if (window.DOMParser) {
            return (new DOMParser).parseFromString(str, 'text/xml');
            }
            }

            function doNothing() {}

有人可能会告诉我,我可以如何更改,以便我可以在不同的脚本中将两组数据拉出来而不会发生冲突。

非常感谢和亲切的问候

1 个答案:

答案 0 :(得分:0)

我做了一些工作,通过反复试验,我发现我可以将'loadmylocations'脚本的信息加载为'searchsites'脚本,即var xml = parseXml(data);而不是var xml = data.responseXML;。