2012-03-05 91 views
0

我使用JQuery $ .get請求從Last.fm網站抓取用戶信息。防止JavaScript與403 HTTP響應中斷

由於某些用戶的帳戶是私人帳戶,我有時會收到403錯誤,指出需要驗證。這打破了JS代碼。 last.fm API不會讓您看到用戶是否私密。

有沒有辦法抓住這個錯誤,並繼續通過代碼?

謝謝!

回答

0

你會使用代理擺脫自$。阿賈克斯()的錯誤處理程序贏得API數據會更好;噸每jQery API文檔跨域請求返回錯誤:

http://api.jquery.com/jQuery.ajax/

編輯注在錯誤選項文檔中:

「注意:此處理程序不針對跨域腳本和JSONP請求調用。」

0

不知道是否與跨域請求的工作,但你可以做這樣的事情:

$.ajax({ 
    type: 'GET', 
    statusCode: { 
    403: function() { 
     alert('a 403 was received'); 
    } 
    }, 
    success: function() { 
    alert('everything OK'); 
    } 
}); 

或可能在$ .ajaxSetup(),如果它的工作原理設置?

+0

我已經試過這個,它會識別出有什麼錯誤,但我希望它只是吞下問題並繼續前進。有沒有辦法說「不理它!」當它發現錯誤? – charliesneath 2012-03-05 02:30:02

+0

嗯,當然是的,但如果出現錯誤,驗證信息不會被回收,所以它將取決於腳本的其餘部分,Ajax函數本身不會破壞您的JS,還有其他的東西,所以您將擁有做一些檢查,看看你的信息是否符合預期,以及它是否沒有爲該信息做適當的事情等等。 – adeneo 2012-03-05 06:56:26