簡體   English   中英

Ajax獲取未定義的響應數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM