如何在jQuery $.getJSON中禁用全局事件?
如何在jQuery的$.getJSON中禁用全局事件
解决方案
因为$.getJSON是$.ajax的简化封装,本身不支持直接传入配置参数,所以最稳妥的方式是改用$.ajax并显式设置global: false,以此跳过全局AJAX事件(比如你提到的ajaxStart)。
代码示例
原来的$.getJSON调用:
$.getJSON('target.json', function(data) { // 处理返回的JSON数据 });
替换为等价的$.ajax调用,添加禁用全局事件的配置:
$.ajax({ url: 'target.json', dataType: 'json', global: false, // 核心配置:禁用全局AJAX事件触发 success: function(data) { // 处理返回的JSON数据 } });
补充说明
$.getJSON的函数签名为$.getJSON(url, [data], [success]),没有预留配置参数的位置,它内部默认调用$.ajax并指定dataType: 'json',但无法传递额外配置项。- 不建议使用
$.ajaxSetup({ global: false })全局修改配置,这会影响所有AJAX请求,可能破坏其他依赖全局事件的业务逻辑。
内容的提问来源于stack exchange,提问作者Coding wiz
相关产品推荐
相关产品推荐

