2014-09-18 39 views
0

當我嘗試將某個元素推送到數組並顯示隨機元素時,瀏覽器返回的數組未定義。問題在哪裏?如何將元素從ajax推送到數組 - jQuery

var dir = "./images/radovi/"; 
var ext = ".png"; 
var slike = []; 
$.ajax({ 
    url: dir, 
    success: function (data) { 
     $(data).find("a:contains(" + ext + ")").each(function() { 
      var ime_slike = this.href.replace(window.location.host, "").replace("http:///", ""); 
      slike.push(dir + ime_slike + ext); 
     }); 
    } 
}); 
$('<img src="' + slike[Math.floor(Math.random() * slike.length)] + '">').appendTo('#radovi'); 
+0

嘗試[Math.floor(的Math.random()*(slike.length-1))]' – SeinopSys 2014-09-18 22:30:28

+0

我試過了,再同樣的事情。在控制檯中返回此錯誤「GET http:// localhost/test/undefined 404(Not Found)」 – 2014-09-18 22:34:22

回答

1

AJAX是異步的。填充數組的代碼在之後被稱爲使用該數組的代碼。移動,產生圖像到成功處理程序的代碼:`S形

var dir = "./images/radovi/"; 
var ext = ".png"; 
var slike = []; 
$.ajax({ 
    url: dir, 
    success: function (data) { 
     $(data).find("a:contains(" + ext + ")").each(function() { 
      var ime_slike = this.href.replace(window.location.host, "").replace("http:///", ""); 
      slike.push(dir + ime_slike + ext); 
     }); 
     if (slike.length) { 
      $('<img src="' + slike[Math.floor(Math.random() * slike.length)] + '">').appendTo('#radovi'); 
     } 
    } 
}); 
+0

謝謝。這工作。 – 2014-09-18 22:47:44

相關問題