我想使用ajax爲了檢查圖像是否存在之前試圖加載它。我主要工作,但我設置了一個變量裏面的錯誤:和成功:標籤在AJAX,並沒有改變我的IMG變量。有沒有什麼辦法通過這些標籤來實現功能的其餘部分?jQuery ajax成功不改變本地變量
function getImage(imageNum)
{
var img;
$.ajax({
url:imageLocation + imageNum + '.png',
type:'HEAD',
error: function()
{
img = 0;
},
success: function()
{
var img = $('<img />', {
src: imageLocation + imageNum + '.png',
class: 'image',
id:'image' + imageNum});
return img;
}
});
console.log(img);
return img;
}
好,所以我寧願只使用圖片標籤,如果沒有理由使用AJAX。問題在於變量不會改變我的函數中的某些內容。這是一個例子。
function getImage(imageNum)
{
var img;
var success = 10;
var img = $('<img />', {
src: imageLocation + imageNum + '.png',
class: 'image',
id:'image' + imageNum,
success: function() {
success = 1
},
error: function() {
success = 0;
}
});
console.log(success);
if(success = 1)
return img;
else
return 0;
}
function loadImage(imageNum)
{
var img = getImage(imageNum);
if(img != 0)
{
$('#slider').imagesLoaded(function() {
$("#slider").append(img);
loadImage(imageNum + 1);
});
}
else
return;
}
爲什麼不寫一些自定義的PHP可以檢查並回復你的ajax調用? – TheZ 2012-07-11 21:56:53
這裏的問題是'$ .ajax'是異步的:立即返回事件(在服務器發送img數據並且調用'success'之前 – bokonic 2012-07-11 22:03:18
@TheZ太複雜了,只檢查一個圖像是否可用 – Lethjakman 2012-07-11 23:02:06