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);
    }
});

これは、コントローラー アクションが、画像の URL を表す文字列の JSON エンコード配列を返すことを前提としています。

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 に答える