名前と位置プロパティを持つオブジェクトを取得しようとしています。その場所にマーカーを作成するには、locationプロパティの座標が必要です。このコードを実行するとUncaught SyntaxErrorが発生します。位置1のJSONで予期しないトークンo。PUTメソッドでJSON.stringify(data)を使用しました。JSONオブジェクトから座標を使用して変数を取得する方法
function getLocation(){
\t var name = $("#username").val();
\t console.log('getLocation()');
\t if(name != ''){
\t \t $.ajax({
\t \t \t type: \t 'GET',
\t \t \t url: \t '../../' + name,
\t \t async: true,
\t \t success:function(data){
\t \t \t var oData = JSON.parse(data);
\t \t \t var marker = new L.marker(oData.location);
\t \t \t \t marker.addTo(map);
\t \t \t $("#username").val('');
\t \t },
\t \t \t error: function(XMLHttpRequest, textStatus, errorThrown) { alert('Not found'); }
\t \t });
\t }
}
を得る場合を解析され、既にあるのだろう。サンプルJSON出力を追加する –
'予期しないトークン 'o'は、通常、JSONテキストではなくオブジェクトを解析しようとしていることを意味します。つまり、' data'はすでにJSONからオブジェクトに解析されています。 'data.'がすでにオブジェクトであるかどうかを調べるには' console.log(data) ' –
とします。jQuery.ajaxは' dataType'プロパティを指定しないとデータ型を推測します。値 'json'を指定すると、jQueryがすでにJSON文字列を解析し、文字列ではなくオブジェクトを渡していることがわかります。 – trincot