中的數據我試圖使用jQuery發送ajax請求到一個非常簡單的PHP腳本來爲jQuery循環插件加載圖像。我遇到了從我的json對象獲取圖像源字符串的問題。我會告訴我的代碼,然後進入下面詳細:動態創建json索引不會讓我訪問
<!doctype html>
<html lang="en-us">
<head>
<title>jQuery Cycle test</title>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.cycle.all.min.js"></script>
<style>
#slideshow a { margin: 0; padding: 0; color: #fff; }
</style>
</head>
<body>
<div id="slideshow">
</div>
</body>
<script type="text/javascript">
$.get('slideshow.php', {start : "true"}, function(data){
var images = JSON.parse(data);
for(var i = 1; i < 6; ++i){
var index = 'image' + i; alert(index); alert(images.index);
$('#slideshow').innerHTML += '<a href="images/' + images.index + '"><img src="images/' + images.index + '" alt="" /></a>';
}
});
$('#slideshow').cycle({
fx: 'cover',
direction: 'right',
timeout: 3000,
speed: 300
});
</script>
</html>
我的PHP腳本返回json_encoded關聯數組,成爲編碼後的正常JSON對象。對於我的測試,我有五個圖像我試圖加載:image1 - image5。正如你在JavaScript中看到的,我試圖通過將'i'的值附加到字符串'image'來動態創建一個新的索引/屬性名稱來訪問這些單獨的圖像源字符串。一切都很簡單。
我的問題是,當我用這種方式創建我的屬性名稱時,它返回'undefined'。當我手動嘗試它時,通過編寫諸如images.image3之類的東西,它會返回適當的源字符串。
我已經提醒了我的動態索引(正如你所看到的),它們看起來對我來說是合適的。我不認爲這是一個關閉問題,因爲它會在這種情況下返回最後一個圖像字符串。我非常難以忍受,所以任何建議都將不勝感激。
你說 「返回 '未定義'」。你能更具體地瞭解什麼,何時何地? – 2010-08-02 21:52:57
我for循環中的第二個提醒。第一個警報正確輸出'imagei',其中i是循環的索引。第二次警報輸出未定義5次。 – 2010-08-02 22:58:44