我从操作控件中获取值,但我想显示所有值。如何在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])i++;}
不太清楚您要做什么。不清楚您的控制器操作使用什么格式来返回数据。从您显示的代码中,我可以假设它返回一个字符串数组。然后我假设这些字符串代表一些图像的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);
}