Javascript 使用Ajax显示随机图像

Javascript 使用Ajax显示随机图像,javascript,jquery,ajax,Javascript,Jquery,Ajax,大家好,我尝试在未加载(刷新)页面时显示一些随机图像 那么,如何在不刷新页面的情况下在页面上显示随机图像呢 <script type="text/javascript"> $(function () { $.ajax({ type: "get", url: "Home/Oku", data: {}, dataType: "json", success: function (data) {

大家好,我尝试在未加载(刷新)页面时显示一些随机图像

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

<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>
下面是您可以看到的结果


第二次尝试:

最小值和最大值函数

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

你的代码呢

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);
    }
for(变量i=0;i
如果要保持随机顺序…

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

第一个答案:

(问题不是很清楚——如果有些东西不起作用等等……)

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

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

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

我只是选择了PHP作为例子


如果我错了,并且“Home/Oku”导致了一些脚本,您可能会向我们展示它的功能?

看起来您已经在尝试它了,这是怎么回事?我编辑了我的答案,希望这是您最终要找的内容。您不是很容易地将图像以html格式显示出来吗?选择images
order by rand()
并将其作为html输出发送。没有数据作为数组返回,因为我使用的是asp.net MVC3,我的操作方法返回数组中的值,所以我对数组没有问题。没有,您错了,无论您使用什么,因为您选择的数据类型是json,所以您将返回一个json对象,如果您正在返回一些数据。。。那么脚本是否在服务器端执行呢?那就给我们看看。关于ajax的理论是,向服务器端的脚本发送请求。编辑:数据类型用于发送的数据,而不是返回的数据,因此,是的,您可以打印一个数组,请参阅我的下一篇评论对不起,不,您是对的,您可以在数组中获取数据,类型用于发送的数据,而不是返回的数据,但是请向我们展示处理taht调用的脚本,虽然我仍然猜你的url参数是关闭的,请告诉我们发生了什么或没有发生;-)您是否提醒/记录返回的日期?好吗?这些元素是附加的吗?所以你唯一的问题是。。。如何随机打印?不知怎么的,这还不清楚。。。我将编辑我的答案
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);
    }