2014-03-26 78 views
0

我正在使用Ajax做預加載程序,但它似乎不工作。我想加載一個圖像,如果它在那裏成功做一些東西 - 東西的東西 - ,但如果它不在那裏只是錯誤做了另一件事 - 保留另一個文本 - ,但在這段代碼它不無關係,如果圖像被發現或者不是,兩種警報都會發生,無論如何,我的意思是如果圖像被發現,兩個警報都會發生,但是如果我刪除了這張照片,兩個警報都會發生,那麼通過ajax的完整和錯誤來實現這個傢伙的方式是什麼?感謝這一條的任何指導。Ajax圖像預加載器不起作用

function preloadImages() 
{ 
var $image = 'http://www.mysite/images/example.jpg'; 
jQuery.ajax({ 
    url: $image, 
      complete: function(){ 
     fileLoaded(); 
    }, 
    error: function(){ 
     errorLoading(); 
    } 
});  
} 

function fileLoaded(){ 
alert('There is the image'); 
} 

function errorLoading(){ 
alert('No image'); 
} 

感謝您的任何幫助提前。問候。

回答

1

揣摩錯誤了它在本SO answer

error: function(xhr, status, error) { 
    var err = eval("(" + xhr.responseText + ")"); 
    alert(err.Message); 
} 

如果圖像是在網站目錄做它以下面的方式

var image = '../Images/Slider/1.jpg'; // give in the src of the image 
    $.ajax({ 
     type: 'GET', 
     url: image, 
     success: function (bytes) { 
      alert('in'); 
     }, 
     error: function() { 
      alert('Error!!!') 
     } 
    }); 
+0

嗨,如果我留下兩個雙引號FireBugs說有一個語法錯誤,但如果我更改單引號的第一個標記警報發生,但有一個空白警報,我的意思是沒有文字或任何警報框。 – Diego

+0

Btw console.log(err.Message)說:未定義。 – Diego

+1

我也嘗試了自己..你是否嘗試任何跨域AJAX? –

1

變化completesuccess

jQuery.ajax({ 
url: $image, 
    success: function(){ 
    fileLoaded(); 
}, 
error: function(){ 
    errorLoading(); 
} 
}); 

Fiddle

+0

嗨shijin,如果我使用'success'現在正在發生一件有趣的事情,那麼當實際照片存在或者它不存在時,'No Image'警報就會發生。 – Diego