使用Ajax显示随机图像

时间:2012-08-10 14:03:42

标签: javascript jquery ajax

大家好我想在没有加载(刷新)页面时显示一些随机图像

那么如何在不刷新页面的情况下在页面上显示随机图像呢?

<script type="text/javascript">
    $(function () {
        $.ajax({
            type: "get", url: "Home/Oku", data: {}, dataType: "json",
            success: function (data) {
                for (var i = 0; i < data.length; i++) {
                   var newFirmDiv= $(' <img src="../../banner_image/' + data[i] + '" width="154px" height="108px"/>');
                   $(".firmShowCase").append(newFirmDiv);
                }
            }
        });
    });
</script>

这是我的action方法,它为数组提供返回值

 public ActionResult Oku()
    {
        var query = from table in db.news select table.news_image_name;
        return Json(query, JsonRequestBehavior.AllowGet);
    }

以下是结果,如下所示

enter image description here

1 个答案:

答案 0 :(得分:0)

第二次尝试:

最小和最大的功能

(http://www.naden.de/blog/zufallszahlen-in-javascript-mit-mathrandom)

function getRandom(min, max) {
 if(min > max) {
  return -1;
 }

 if(min == max) {
 return min;
 }

 var r;

 do {
 r = Math.random();
 }
 while(r == 1.0);
 return min + parseInt(r * (max-min+1));
}

和你的代码

for (var i = 0; i < data.length; i++) {
        randomIndex = getRandom(0, data.length-1);
        var newFirmDiv= $(' <img src="../../banner_image/' + data[randomIndex] + '"width="154px" height="108px"/>');
        $(".firmShowCase").append(newFirmDiv);
    }

如果您想保留随机顺序......

...您必须像在新数组中一样保存它,之后您可以通过数据库或临时文件中的ajax保存它。在当前文件的顶部,您必须检查是否存在现有临时文件;如果它应该绑定到一个用户,你可以生成一个随机密钥(就像时间一样)将它保存在一个会话变量中,并使用相同的随机密钥命名tmp文件或数据库中的数据...到目前为止我的想法,如果这就是你要找的东西。因为从一开始就在服务器端更容易做到这一点。

第一回答:

(问题不是很明确 - 如果某些事情不起作用等等......)

首先,数据不作为数组返回,而是作为对象返回。但我认为你不太了解ajax函数的参数。

在url参数中应该是应该执行的脚本(例如getImages.php)。因此,您应该收集图像,将它们解析为jason并打印出来,这样它将作为数据返回。

在参数数据中,您可以将一些参数传递给skript,您可以通过在php中解码它们来获取。

我刚刚选择了PHP。

如果我错了,“Home / Oku”导致某些剧本你可能会告诉我们它的作用是什么?