jQuery AJAX 回调中抛出的异常被吞没?

2024-01-05

除了向每个回调添加 try..catch 块之外,还有什么方法可以处理 jQuery 中 AJAX 回调引发的异常吗?在这种情况下不会调用错误函数。

$.ajax(
{
    url: 'myurl.rails',
    success: function( data )
    {
        throw 'Oh no!';
    },
    error: function ( xhr, textStatus, errorThrown )
    {
        console.log( 'AJAX call failed', xhr, textStatus, errorThrown );
    }               
} );

如果您查看 jQuery 1.4.2 的非缩小版本,相关行是 5264 到 5274:

function success() {
    // If a local callback was specified, fire it and pass it the data
    if ( s.success ) {
        s.success.call( callbackContext, data, status, xhr );
    }

    // Fire the global callback
    if ( s.global ) {
        trigger( "ajaxSuccess", [xhr, s] );
    }
}

jQuery 只是调用success函数应用于设置对象(如果存在),而不关心函数返回或抛出什么。

你可以做的是使用jQuery.ajaxSetup() http://api.jquery.com/jQuery.ajaxSetup/像这样:

jQuery.ajaxSetup({
    success: function() {
        try {
            if ( this.mysuccess ) {
                this.mysuccess.apply( this, arguments );
            }
        }
        catch(err) {
            // whatever
        }
    }
});

And use mysuccess(或者任何你喜欢的称呼)而不是success在个人jQuery.ajax calls.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery AJAX 回调中抛出的异常被吞没? 的相关文章

  • 摩卡 - Chai Karma“套件未定义”

    我对 jscript tdd 很陌生 遇到了问题 希望有人能告诉我我在做什么 在浏览器中运行测试 通过 HTML 文件 一切正常 通过节点和业力运行它们我得到以下异常 我想在 node js 主机的 karma 中使用 Mocha 和 Ch
  • 图像无法在带有 DOM 的 IE 中加载:控制台中的 7009 错误(无法解码)

    当在 IE 中的单个页面上加载许多图像时 在 IE11 中重现 其中一些图像开始加载失败 并在控制台中出现类似以下警告的内容 DOM7009 无法解码 URL 处的图像 某些唯一的 url 当我查看网络流量时 似乎确实从服务器收到了每个图像
  • 引导程序提前输入未填充承诺的响应

    我的引导程序预输入如下
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • 在 HTML5 画布中,如何用我选择的背景遮盖图像?

    我试图用画布来实现这一点 globalCompositeOperation 但没有运气 所以我在这里问 这里有类似的问题 但我没有在其中找到我的案例 我的画布区域中有图层 从下到上的绘制顺序 画布底座填充纯白色 fff 用fillRect
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • 将 UMD Javascript 模块导入浏览器

    你好 我正在对 RxJS 进行一些研究 我可以通过在浏览器中引用它来使用该库 如下所示 它使用全局对象命名空间变量 Rx 导入 我可以制作可观察的东西并做所有有趣的事情 当我将 src 更改为指向最新的 UMD 文件时 一切都会崩溃 如下所
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • Google 地图 API 2 MapView 未更新

    我在 Android 应用程序中显示 Google Maps API v2 MapView 但奇怪的是它没有以一致的方式正确更新 我正在使用 GPS 更新地图位置 尝试了 LocationManager 和 LocationClient 尽
  • 早期返回与嵌套正 if 语句

    这是一些假设的代码示例 if e KeyCode Keys Enter if this CurrentElement null return false if this CurrentElement this MasterElement r
  • 视频标签中的 YouTube URL

    我正在使用
  • 用于 WorkItemAttribute?

    我注意到 Visual Studio 测试中有一个属性 Microsoft VisualStudio TestTools UnitTesting WorkItemAttribute 可用 我正在使用 VS 2010 Premium 和 TF
  • 为什么在Java算术中,上溢或下溢永远不会抛出异常?

    在Java算术运算期间 JVM不会抛出下溢或溢出异常 很多时候我们会遇到意想不到的结果 并想知道哪里出了问题 而在 NET 技术的情况下 我们有溢出和下溢异常 所以我的问题是 为什么Java被设计成在算术运算期间不抛出这个异常 这可能是多种
  • 如何将 before_filter 应用于 Rails 3.2.11 中每个控制器的每个操作?

    我想验证用户是否在对服务器的每个请求中登录 就像是 before filter verify logged in 我应该将 before filter 放在哪里 以便它适用于所有控制器操作和所有请求 要确保过滤器适用于所有操作 请将其放置在
  • Android JQuery focus() 解决方法

    我正在开发一个 HTML5 移动应用程序 使用常规 jQuery 而不是移动应用程序 它实现了出现在文本区域下方的自定义自动完成列表 用户从列表中选择一个选项 该单词将自动完成 然后用户照常继续输入 问题在于 用户点击文本框外部以从自动完成
  • 自动装配应用程序上下文

    我正在尝试自动装配WebApplicationContext进入一个班级ImageCreatorUtil这是我在 Spring MVC 项目中创建的 在类中执行使用应用程序上下文的方法时 我总是收到 NPE 需要注意的是 该方法是由Appl
  • 在模型中使用 cakephp 组件

    如何在我的模型类之一中使用我在 cakePHP 中创建的组件 这可能吗 如果是这样 请告诉我该怎么做 这是可能的 但很漂亮不好的做法 in a MVC http en wikipedia org wiki Model E2 80 93vie
  • HTML 输出的单元测试?

    这可能是一个愚蠢的问题 但是您是否对 PHP 函数 脚本的 HTML 输出进行单元测试 我尝试将我的 HTML 和 PHP 分开 即 HTML 包含占位符 以及某些重复元素的函数 表格数据 任何类型的循环输出 但我不知道如何去验证这一点 是
  • Firebase iOS 推送通知在首次安装时不起作用

    当我第一次安装并打开应用程序并接受来自 Apple 的通知权限警报时 我从 Firebase 收到以下日志 5 16 0 Firebase InstanceID I IID023004 无法将密钥对的属性更新为首次解锁后可访问 更新 状态
  • 生产/构建中的 Material-UI 渲染错误

    我在构建我的反应应用程序时遇到了很大的问题 我正在使用material ui core v 4 10 2 在正常的反应脚本启动开发服务器上一切正常 但是 当通过 Nginx 或 npm module 构建并提供服务时 渲染无法正常工作 我在
  • 重置等待计时器

    来自 MSDN The 取消等待定时器 http msdn microsoft com en us library ms681985 aspx函数不会改变定时器的信号状态 它会在定时器设置为有信号状态之前停止定时器并取消未完成的 APC 因
  • 类型错误:int() 参数必须是字符串、类似字节的对象或数字,而不是“datetime.datetime”

    我试图为我的所有模型添加 created at 字段 但收到以下错误 TypeError int argument must be a string a bytes like object or a number not datetime
  • twitter bootstrap 3.0 typeahead ajax 示例

    Bootstrap 2 有很多 typeahead ajax 示例 例如这里twitter bootstrap typeahead ajax 示例 https stackoverflow com questions 9232748 twit
  • 从数据框创建稀疏矩阵

    我正在做一项作业 尝试为 Netflix 奖项数据构建协作过滤模型 我使用的数据位于 CSV 文件中 我可以轻松地将其导入到数据框中 现在我需要做的是创建一个稀疏矩阵 其中用户作为行 电影作为列 每个单元格都由相应的评级值填充 当我尝试绘制
  • 另一个本地 gem 的“gem.add_dependency”

    我正在创建一个 gem 它依赖于另一个已发布的 gem 在my gem gemspec 我已将依赖项添加到另一个 gem gem add dependency other gem gt 1 0 0 现在 我发现了一个可以调整的功能其他宝石
  • 如何仅在增量代码上运行 Maven checkstyle 插件

    我想向我们的应用程序添加自动代码审查功能 目前我们使用maven来进行构建 我遇到了 Maven checkstyle 插件 但希望它仅在添加的增量代码上运行 而不是在旧代码上运行 我可以使用这个插件实现这个目标吗 如果是 请提供有关如何操
  • Shiny DataTable:使用按钮扩展保存完整的 data.frame

    我正在将 DataTables 与 Shiny 一起使用 通过按钮扩展 用户可以下载或打印数据表中的数据 但仅下载 打印行的可见部分 我想改变这种行为 以便可以下载包含所有行的完整 data frame 这可以通过按钮扩展实现吗 还是我必须
  • jQuery AJAX 回调中抛出的异常被吞没?

    除了向每个回调添加 try catch 块之外 还有什么方法可以处理 jQuery 中 AJAX 回调引发的异常吗 在这种情况下不会调用错误函数 ajax url myurl rails success function data thro