[英]Ajax Get response data undefined
我正在嘗試解析ajax方法返回的Json字符串,但是在警告lat,long值時顯示未定義,但是當我打印控制台日志時,數據在那里正確顯示。 任何人都可以在這里提供有關如何解析GET響應數據的幫助
$.ajax({
type: 'GET',
url: '/api/v1.0/tasks/'+document.getElementById("autocomplete").value,
dataType: 'json',
data: { 'value' : $(this).val() },
success : function(data){
var lat,long;
data=JSON.stringify(data)
for (var x = 0; x < data.length; x++) {
lat = data[x].lat;
alert(lat);
long = data[x].longi;
alert (long);
}
} });
API響應:
{
"task": [
{
"lat": 41.21555555555555,
"longi": -111.99694444444445,
"markerText": " Ogden UT 84401"
}
]
}
首先刪除對JSON.stringify()
的調用。 這毫無意義,並且會在您當前嘗試循環JSON字符串中的字符時引起問題。 其次,您需要訪問data.task
,而不僅僅是data
。 嘗試這個:
// AJAX response var data = { "task": [{ "lat": 41.21555555555555, "longi": -111.99694444444445, "markerText": " Ogden UT 84401" }] } // in the AJAX success handler: var lat, long; data.task.forEach(function(task) { lat = task.lat; long = task.longi; console.log(lat, long); });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.