2014-02-06 18 views
-3

IM對象嘗試不同的參數傳遞給數據轉換爲對象,但在這個即時通訊新的,我需要一些幫助,這是我的代碼:

$.ajax({ 
      url: 'http://....org/api/get_category_posts', 
      dataType: 'jsonp', 
      //data:'category_name=rock&count=2&order=desc', 
      data: { 

       dataRock:'category_name=rock&count=2&order=desc', 
       dataPop:'category_name=pop&count=2&order=desc', 
       dataElectronica:'category_name=electronica&count=2&order=desc' 
      }, 

      success: function(data) { 

       var albumsRock = function() 
       { 

        $('albumsRock').html(''); // vaciamos previamente el html 

        for(var i=0; i < data[dataRock].posts.length; i++) 
        { 
         addAlbum(data[dataRock].posts[i]); 
        } 

       } 

有3個參數,我不知道如何訪問它們,謝謝!

+0

做: 'data [「dataRock」]。posts'還是dataRock其實是一個變量? – epascarello

+0

不,dataRock是一個數據參數,我不知道如何訪問這個參數之一,這,data [dataRock] .posts,我認爲是不正確的 – pablo

+0

所以你有'var dataRock =「XXXXX」;'defined某處? – epascarello

回答

0

傳入的數據與從服務器發回的數據無關。你的變量名稱是相同的,就是這個。如果您想知道發送的內容,請使用本地變量來保存數據。

var requestData = { 
    dataRock:'category_name=rock&count=2&order=desc', 
    dataPop:'category_name=pop&count=2&order=desc', 
    dataElectronica:'category_name=electronica&count=2&order=desc' 
}; 

$.ajax({ 
    url: 'http://....org/api/get_category_posts', 
    dataType: 'jsonp', 
    data: requestData, 
    success: function(data) { 
     console.log(requestData.dataRock); 
    } 
}); 

在代碼中,你有

data[dataRock].posts.length 

我假設你想使用Datarock的作爲,因爲Datarock的在上面的關鍵不是一個對象,你想

data[requestData.dataRock].posts.length 
+0

謝謝!!!這是想法,我無法找到解決方案,非常感謝你! – pablo

+0

我回來了,當我試圖實現此更改時,向我顯示此錯誤:TypeError:data [requestData.dataRock] is undefined \t for(var i = 0; i pablo

+0

比數據好沒有它。你的迴應是什麼樣的? – epascarello