看起来 jQuery 1.6.4 故意在 $.ajax 成功回调中吞下异常。
如果我这样做:
$.get('/', function() {console.log('doodoo');})
我在(Chrome)控制台中得到了这个:
Object
doodoo
但如果我这样做,
$.get('/', function() {throw 'doodoo';})
我在控制台中没有错误:
Object
快速浏览一下 jQuery 源代码会发现这显然是故意的:
try {
while( callbacks[ 0 ] ) {
callbacks.shift().apply( context, args );
}
} catch(e) { }
有谁知道为什么 jQuery 会这样做?