跨域 $.ajax 调用引发 ajaxError?
当我使用 $.ajax 调用(在跨域调用上)时,我无法触发 jQuery 的 ajaxError 全局处理程序。有什么办法让它火起来吗?
我已经包括了一个快速&下面的脏测试(改编自 那么 $.ajaxError 是如何工作的?)。实际上,即使我明确地将 global 设置为 true,也不会触发任何全局 ajax 事件。如果我将 $.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>
感谢您的任何帮助。
I'm having trouble getting jQuery's ajaxError global handler firing when I use a $.ajax call (on a cross domain call). Is there any way to get it to fire?
I've included a quick & dirty test (adapted from So how does $.ajaxError work?) below. Actually, none of the global ajax events fire, even if I explicitly set global to true.If I convert the $.ajax to a $('result').load it works fine, but that's not what I want.
<!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>
Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
阅读此处 jQuery ajax
跨域调用最好使用curl
Read here jQuery ajax
Better to use curl for cross domain call