2012-03-05 75 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