我从我的动作控件中获取了我的值,但我希望显示我的所有值。如何在ajax中使用for循环或foreach来显示所有元素的数组?
这是我的剧本
$。AJAX({ type:“get”,url:“Home / Oku”,data:{},dataType:“json”, 成功:函数(数据){ for(var i = 0; i< data.length; i ++){ $(“img#myimage”)。attr(“src”,data [i]) 我++; }
答案 0 :(得分: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);
}