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);
            }
        });

console.log(data); これを出力します:

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

console.log(lat); 出力:未定義!

4

2 に答える 2

1

実際にあなたのコード:

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

Dom要素「loc」をvarlocに格納しようとします。まず、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 に答える