2014-09-26 28 views
0

JS文件jQuery的循環。每()使用JSON Stream對象

var IMController = { 
    listIM: function() { 
     var params = getUrlVars($("#getIM").attr("href")); 
     $.ajax({ 
      url: "listIM", 
      type: "POST", 
      dataType: "json", 
      data: $.extend(params, { 
       _tzcm: new Date().getTime() 
      }), 
      success: function (data) { 



      } // success 
     }); 
     return false; 
    } 
}; 

$(document).ready(function() { 
    $("#getIM").click(function() { 

     IMController.listIM(); 

     return false; 
    }); 
}); 

此代碼是從我的JAVA CLASS

for (int i = 0; i < ims.size(); i++) { 
    JSONObject imJsonObject = new JSONObject(); 
    imJsonObject.put("imID", ims.get(i).getImID()); 
    imJsonObject.put("text", ims.get(i).getText()); 
    imJsonObject.put("dateTime", ims.get(i).getDateTime()); 
    imJsonObject.put("toAccountID", ims.get(i).getToAccountID()); 
    imJsonObject.put("toUserFullName", (ims.get(0).getToUser().getFirstName() != null ? ims.get(0).getToUser().getFirstName() : "") + " " + (ims.get(0).getToUser().getLastName() != null ? ims.get(0).getToUser().getLastName() : "")); 
    imJsonObject.put("fromUserFullName", (user.getFirstName() != null ? user.getFirstName() : "") + " " + (user.getLastName() != null ? user.getLastName() : "")); 
    imJsonObject.put("fromAccountID", ims.get(i).getFromAccountID()); 
    jsonArray.put(imJsonObject); 
} 

我已經成功地讓我的來自我的Action的JSON對象。我曾多次嘗試使用「每個」功能打印返回的數據,但我無法打印。我不知道爲什麼。


以及最後我想通了錯誤所在。它在我的getUrlVars函數中。我使用這個函數從href鏈接獲取屬性並在「data:attribute」中使用它。這裏s此功能

function getUrlVars(url) 
{ 
    var vars = {}; 
    var hash; 
    var hashes = url.slice(url.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 

    } 
    return vars; 
} 

類型錯誤的代碼:vars.push是不是一個函數vars.push(散列[0]);

+0

哪裏是小提琴?或給出你得到的JSON輸出 – 2014-09-26 12:56:40

+0

@AbdullaChozhimadathil - 沒有規定說所有東西都要發佈到jsFiddle。 OP提供了他們的代碼,因爲他們應該這樣做。 – 2014-09-26 12:59:56

+0

@sphanley不一定要有一個jsFiddle,但是需要比這更多的信息。 @OP你試圖使用'each()'函數的地方在哪裏?我在代碼中的任何地方都看不到'each'。 – JLRishe 2014-09-26 13:07:57

回答

0

使用$ .each()時出現什麼問題?

var IMController = { 
    listIM: function() { 
     var params = getUrlVars($("#getIM").attr("href")); 
     $.ajax({ 
      url: "listIM", 
      type: "POST", 
      dataType: "json", 
      data: $.extend(params, { 
       _tzcm: new Date().getTime() 
      }), 
      success: function (data) { 
       $.each(data, function(i, obj) { 
        doWhateverWithObject(obj); 
       }) 


      } // success 
     }); 
     return false; 
    } 
}; 
+0

以及我不知道如何以正確的方式使用我的每個功能。每次我嘗試它,這是我得到[{「text」:「測試即時通訊」,「fromAccountID」:1,「dateTime」:2014-09-25 17:14:06.0,「toAccountID」:2,「imID 「:1,」fromUserFullName「:」admin admin「,」toUserFullName「:」fname lname「},{」text「:」test test「,」fromAccountID「:2,」dateTime「:2014-09-25 17: 14:06.0,「toAccountID」:1,「imID」:2,「fromUserFullName」:「admin admin」,「toUserFullName」:「fname lname」}] – 2014-09-26 13:12:02

0

數據似乎是jsonObjects的jsonArray。試一試,你可以在每個循環內獲得像「文本」這樣的對象屬性。

$.each(data, function(index, jsonObject){ 
    console.log(jsonObject.text); 
});