0

我从我的行动控制中获得我的价值观,但我想展示我所有的价值观。如何在ajax中使用for循环或foreach来显示数组的所有元素?

这是我的脚本

$.ajax({ type: "get", url: "Home/Oku", data: {}, dataType: "json", success: function (data) { for (var i = 0; i< data.length; i++) { $("img#myimage").attr("src", data[i]) i++; }

4

1 回答 1

0

目前还不是很清楚你要做什么。目前尚不清楚您的控制器操作使用什么格式返回数据。从您显示的代码中,我可以假设它返回一个字符串数组。然后我认为这些字符串表示某些图像的 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);
    }
});

这假设您的控制器操作返回一个 JSON 编码的字符串数组,表示图像的 url:

public ActionResult Oku()
{
    var imageUrls = new[] 
    { 
        "http://example.com/foo.jpg", 
        "http://example.com/bar.jpg" 
    };
    return Json(imageUrls, JsonRequestBehavior.AllowGet);
}
于 2012-08-05T17:02:53.803 回答