【问题标题】:Using jquery get command on a XML URL without a file extension?在没有文件扩展名的 XML URL 上使用 jquery get 命令?
【发布时间】:2023-03-18 19:21:01
【问题描述】:

我正在尝试使用具有自己的内部网络服务器 (fshost) 的程序中的实时 xml 数据在谷歌地图上放置标记。动态 xml 位于 It http://109.169.x.x:81/xml,它正在工作并且可以在浏览器中显示数据。

我认为我遇到的问题是 url 没有文件扩展名?如果我首先将网页保存为 xml 并指向它,但不能直接通过其 url,我可以成功地在地图上显示标记。我正在阅读它,可能是因为 xml 的数据类型设置不正确?我尝试寻找如何设置正确类型的示例,但我没有运气。

有人可以帮忙吗?非常感谢。

jQuery.get("http://109.169.x.x:81/xml", {}, function(data) {
  jQuery(data).find("Player").each(function() {
    var marker = jQuery(this);
    var latlng = new google.maps.LatLng(parseFloat(marker.find("Latitude").text().replace('N', '+')), parseFloat(marker.find("Longitude").text().replace('W', '-')));
    var marker = new google.maps .Marker({position: latlng, map: map});
 });
});

【问题讨论】:

    标签: jquery xml google-maps


    【解决方案1】:

    您可以尝试像这样强制dataType

    jQuery.get({url: "http://109.169.x.x:81/xml", dataType: "xml", success: function(data)
    {
      jQuery(data).find("Player").each(function() {
        var marker = jQuery(this);
        var latlng = new google.maps.LatLng(parseFloat(marker.find("Latitude").text().replace('N', '+')), parseFloat(marker.find("Longitude").text().replace('W', '-')));
        var marker = new google.maps .Marker({position: latlng, map: map});
     });
    }});
    

    这里是$.get() 的 jQuery API 参考:http://api.jquery.com/jquery.get/

    您可能还想使用浏览器的调试器来检查响应和data 对象。您可以使用 Fiddler 或 Chrome 之类的工具来查看 XML 响应本身,以确保一切都符合预期,等等。

    【讨论】:

    • 谢谢。我尝试了代码,我只是得到一个空白页,即使我在本地 xml 文件 'xml.xml' 上使用它 Google chrome/fiddler 将 url 提供为 text/html 类型
    • 如果您使用浏览器手动请求 XML URL 会发生什么?
    【解决方案2】:

    我认为是自定义网络服务器导致了这个问题。移动了其中的所有文件,它似乎正在工作:) ty

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-09
      • 2018-08-06
      • 2021-11-14
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多