2012-08-05 143 views
0

我從我的操作控制中獲取我的值,但我想顯示所有值。如何使用循環或foreach在Ajax中顯示數組的所有元素?MVC3 Ajax顯示數組中的所有值

這裏是我的腳本

$阿賈克斯({ 類型: 「獲取」,網址: 「首頁/奧」,數據:{},數據類型: 「JSON」, 成功:函數(數據){ 爲(VAR I = 0;我< data.length;我++){ $( 「IMG#MYIMAGE」)ATTR( 「SRC」,數據[I]) 我++; }

回答

0

你試圖做什麼不是很清楚,你不清楚你的公司是什麼格式ntroller動作用於返回數據。從你顯示的代碼中,我可以假設它返回一個字符串數組。然後我想這些字符串代表一些圖像的URL,因爲你似乎試圖將它們分配給img標籤的src屬性。除了你正在使用一個id選擇器並且總是爲每個元素覆蓋相同的img標籤。

如果你想有多個圖像,那麼你可以動態創建它們。

<div id="images"></div> 

然後:

$.ajax({ 
    url: 'Home/Oku', 
    type: 'GET', 
    success: function (data) { 
     var images = ''; 
     for (var i = 0; i < data.length; i++) { 
      images = images + '<div><img src="' + data[i] + '" /></div>'; 
     } 
     $('#images').html(images); 
    } 
}); 

這是假設你的控制器動作返回表示圖像的URL字符串的JSON編碼數組:

public ActionResult Oku() 
{ 
    var imageUrls = new[] 
    { 
     "http://example.com/foo.jpg", 
     "http://example.com/bar.jpg" 
    }; 
    return Json(imageUrls, JsonRequestBehavior.AllowGet); 
} 
通過創建一個空的佔位符啓動