2
我在使用$ .ajax調用(在跨域調用時)時遇到了jQuery的ajaxError全局處理程序觸發問題。有什麼辦法讓它着火嗎?
我在下面包含了一個快速的&髒測試(改編自So how does $.ajaxError work?)。實際上,全局ajax事件都不會觸發,即使我明確地將全局設置爲true。如果我將$ .ajax轉換爲$('result')。load它工作正常,但這不是我想要的。
<!DOCTYPE html>
<html lang="en">
<head>
<title>jQuery Sandbox</title>
</head>
<body>
<div class="trigger">Trigger</div>
<div class="result"></div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(document).ajaxError(function (e, xhr, settings, exception) {
alert(I broke);
});
$('.trigger').click(function() {
$.ajax({
type: "GET",
global: true,
url: 'http://localhost/error',
success: function(data){
alert('ftw');
},
dataType: "jsonp",
});
});
});
</script>
</body>
</html>
感謝您的任何幫助。
哎呀,這是因爲我是個白癡。沒有閱讀全球處理程序文檔中斜體顯示的位:「注意:不管全局值如何,全局事件都不會因跨域腳本或JSONP請求而被解僱。」 – dochead 2011-03-22 12:43:56