0

如何从输出以下内容的 php 文件中解析 jQuery 中的 lat 和 long 值:

<gps>
    <loc lat="42.6438" lon="21.9275" alt="29.7" spd="0" dir="342" cep="203.1" upd="2013-03-09 02:10:31"/>
</gps>

更新!这是我在 head.php 中的完整代码

        $.ajax({
            type: "GET",
            url: "gps-tracking/track.xml",
            dataType:'data',
            complete: function(data){
                    var loc = $("loc");
                    var lat = loc.attr("lat");
                    var lon = loc.attr("lon");
                    console.log(data);
                    console.log(lat);
            }
        });

控制台.log(数据);输出这个:

Object { readyState= 4 , responseXML=document, responseText= "<gps><loc lat="40.6438"...03-09 02:10:31"/></gps>" , more...}

控制台.log(纬度);输出:未定义!

4

2 回答 2

1

实际上你的代码:

complete: function(data){
                    var loc = $("loc");
                    var lat = loc.attr("lat");
                    var lon = loc.attr("lon");
                    alert (lat);
            }

尝试将 Dom 元素“loc”存储到 var loc 中。首先,您应该尝试使用完整函数的数据,因为那里存储了您的 php 值。

然后尝试创建一个 DOM 元素,如$(data).children('loc').attr('lat');

小演示小提琴:http: //jsfiddle.net/P6JVw/

这里是你应该使用的代码:

complete: function(data){
                        var xmlObj = $(data.responseText).children('loc');
                        var loc = xmlObj.attr('loc');
                        var lat = xmlObj.attr('lat');
                        var lon = xmlObj.attr('lon');;
                        alert (lat);
                }
于 2013-03-26T09:34:32.143 回答
0

很简单。打电话attr()

var loc = $("loc");
var lat = loc.attr("lat");
var lon = loc.attr("lon");
于 2013-03-25T23:49:55.000 回答