2013-06-04 43 views
1

我在使代碼正常工作時遇到問題。我可以使用SC.get()中的'q','bpm'或'genres'參數進行靜態搜索。然而,當我試圖使它的動態具有可變(「類」)......這些值傳遞正確關閉,但執行的搜索不匹配:無法更改使用Soundcloud API進行動態搜索

function getTracks(){ 
    query = document.getElementById('search').value; 
    category = document.getElementById('category').value; 

    SC.get('/tracks', { category : query}, function(tracks) { 
       console.log(query); 
     console.log(category); 
      ... rest of search code 
      } 

內部HTML:

 <form> 
      Search by Title: <input type="text" name = "search" id = "search"> 
          <select id = "category"> 
          <option value = "genres">Genre</option> 
          <option value = "q">Title</option> 
          <option value = "bpm">BPM</option> 
          </select> 

     <input type="button" onclick = "getTracks()" value="Submit"/> 
     </form> 

有什麼我失蹤? Console.log爲「搜索」和「類別」值捕獲正確的值,但API正在返回,就好像它們爲空。

回答

1

在您的示例中,{ category: query }category指定爲關鍵名稱,不會將變量category指定爲關鍵名稱。這在Javascript中有點不一致。

你想這樣做:

parameters = {}; 
parameters[category] = query 

SC.get('/tracks', parameters, function(tracks… 
+0

還有沒有這樣的參數爲'中的SoundCloud API –

+1

謝謝你,我不認識的哈希category'!這很奇妙。 –