2015-05-06 108 views
1

我想添加一些代碼到我的ajax調用的statusCode函數,雖然只是不能!無法獲得ajax狀態代碼404

我已經通過error()函數管理了一個解決方法,但是我只想專門處理404個案例。任何幫助將不勝感激!

請幫助: https://jsfiddle.net/9pyk5vmh/

var arr = ['http://pbs.twimg.com/media/CEPW00rVA5.jpg', 
    'http://pbs.twimg.com/media/CEO6b85UsAEBhzI.jpg', 
    'http://pbs.twimg.com/media/CEAQweFUUAAP8yP.jpg', 
    'http://pbs.twimg.com/media/CD_5TzEUgAEVkus.jpg', 
    'http://pbs.twimg.com/media/CD_oB24UsAAO-li.jpg', 
    'http://pbs.twimg.com/media/CD_iyBDUkAAUyW-.jpg', 
    'http://pbs.twimg.com/media/CD_iZvKUUAAPygN.jpg', 
    'http://pbs.twimg.com/media/CD_fzKSUkAEaUdD.jpg' 
]; 

for (var i in arr) { 
    var url = arr[i]; 
    //console.log(i); 
    $.ajax({ 
     type: "HEAD", 
     url: url, 
     async: true, 
     statusCode: { 
      404: function() { 
       alert('404!'); 
      } 
     }, 
     error: function (message, text, response) { 
      arr.splice(i, 1); 
     } 
    }); 
} 

for (i in arr) { 
    var img = $('<img>'); //Equivalent: $(document.createElement('img')) 
    img.attr('src', arr[i]); 
    img.appendTo('#imagediv'); 
} 

回答

0

我認爲這個問題是不相關的阿賈克斯,但跨域請求(CORS)。

基本上在上述情況下你是一個Ajax調用到其他域,瀏覽器不允許你最終與statusCode 0的

您需要在服務器上啓用CORS,所以它可以允許來自瀏覽器的Ajax呼叫