我試圖獲取具有名稱和位置屬性的對象。我需要位置屬性的座標以在該位置創建標記。但是,運行此代碼會導致未捕獲的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輸出 –
'unexpected token'o''通常意味着您正試圖解析對象而不是JSON文本,即'data'已經從JSON解析到對象。檢查'data'以查看它是否已經是一個對象:'console.log(data)' –
如果不指定dataType屬性,jQuery.ajax會猜測數據類型是什麼。你最好用值'json'來指定它,然後你可以肯定jQuery已經解析了JSON字符串並且傳遞給你一個對象,而不是字符串。 – trincot