gpt4 book ai didi

javascript - 跨域 $.ajax 调用引发 ajaxError?

转载 作者:行者123 更新时间:2023-12-01 01:52:37 25 4
gpt4 key购买 nike

当我使用 $.ajax 调用(在跨域调用时)时,我无法触发 jQuery 的 ajaxError 全局处理程序。有什么办法让它火起来吗?

我在下面包含了一个快速而肮脏的测试(改编自 So how does $.ajaxError work? )。实际上,即使我明确地将 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>

感谢您的帮助。

最佳答案

在这里阅读jQuery ajax

Some types of Ajax requests, such as JSONP and cross-domain GET requests, do not use XHR; in those cases the XMLHttpRequest and textStatus parameters passed to the callback are undefined.

更好地使用 curl 用于跨域调用

关于javascript - 跨域 $.ajax 调用引发 ajaxError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com