2012-10-01 46 views
0

我試圖迴應它在交易部分遇到的每筆交易的所有標題。我猜測for語句是半正確的,而且我是一些如何不循環打印語句以遍歷所有標題。但我不知道如何?Groupon API的聲明

我的代碼:

$(document).ready(function() { 
    $.ajax({ 
     url: 'https://api.groupon.com/v2/deals.json?client_id={accesstoken}&division_id=new-york', 
     data: 'client_id='+ access_token + '&' + 'division_id'+ loc, 
     dataType: 'jsonp', 
     success: function (data) { 
      items = data; 
      // title = data.deals[0].shortAnnouncementTitle; 
      console.log(items) 
      handleResult(items) 
      // handleResult(title) 
     }, 
    }); 

    function handleResult(items) { 
     for(var i=0; i<items.deals.length; i++) { 
      var title = items.deals[i].shortAnnouncementTitle; 
      s = "<h2 class='results'>" + title + "</h2>"; 
      console.log(title) 
     } 

     $("#result").html(s); 
    } 

目前它遍歷並打印出唯一的最後一個項目在列表中,而在控制檯中我看到每一個標題。

回答

1

這些都應該工作,你在每次迭代覆蓋s的值,你試圖建立一個更大的字符串,但錯過了加:使用

function handleResult(items) { 
    var s = ""; 
    for(var i=0; i<items.deals.length; i++) { 
     var title = items.deals[i].shortAnnouncementTitle; 
     s += "<h2 class='results'>" + title + "</h2>"; 
     //or s = s+ .... 
     console.log(title) 
    } 

    $("#result").html(s); 
} 

你也應該聲明變量「S」在使用前VAR否則如果s否則用在沒有無功太:-)

function handleResult(items) { 
    for(var i=0; i<items.deals.length; i++) { 
     var title = items.deals[i].shortAnnouncementTitle; 
     var s = $("<h2 class='results'></h2>").text(title); 
     $("#result").append(s); 
     console.log(title) 
    } 
} 

你會設置全局的財產,或類似的規定,這將創造出有趣的文物上面會成爲我的首選解決方案,因爲它會給你更多的控制權每個元素都有一定的靈活性。我想我已經正確地寫在上面了。

希望有所幫助。 馬特