首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在jQuery中,如何在ajax调用失败时恢复可拖动?

在jQuery中,要在ajax调用失败时恢复可拖动,可以使用ajax的error回调函数。首先,需要在ajax调用之前将可拖动元素的状态保存下来,然后在error回调中恢复这个状态。以下是一个示例代码:

代码语言:javascript
复制
// 保存可拖动元素的状态
var draggableStatus = $("#draggable-element").draggable("option", "disabled");

$.ajax({
  url: "your-url-here",
  type: "GET",
  dataType: "json"
})
.done(function(data) {
  // 处理成功的情况
})
.fail(function(jqXHR, textStatus, errorThrown) {
  // 在失败的情况下恢复可拖动状态
  $("#draggable-element").draggable("option", "disabled", draggableStatus);
})
.always(function() {
  // 处理完成后的操作
});

在这个示例中,我们首先保存了可拖动元素的状态,然后执行了一个ajax调用。在调用失败的情况下,我们使用了error回调函数来恢复可拖动元素的状态。这样,在ajax调用失败时,可拖动元素的状态就会被恢复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

jQuery (二)

,如果动画使用show,将会在完成调用show 动画选项对象 缓动函数,jquery中有默认的缓动函数,为正弦函数,即swing,还有一个线性的缓动函数为linear 所有的缓动函数都在jQuery.easing...,[1.png] 上方的缓动函数,还可以自定义,即添加一个数组即可, jQuery.easing['squareroot'] = Math.sqrt; 如果想要使用线性变化即 $('p').animate...默认的队列名为fx,这是没有指定队列名默认使用的队列。...,即this beforeSend 指定发送ajax请求指定激活的函数 success 指定ajax请求成功后的回调函数 error 指定ajax请求失败后的回调函数 complete 指定请求完成后的函数...{ return e.draggable === true; } 使用 $('img:draggable'); 等价于 $('img[draggable=true]') 上方封装的一个选择器为拖动的元素

9.3K30

jQuery - Ajax详解分析

beforeSend(XHR) 类型:Function 发送请求前修改 XMLHttpRequest 对象的函数,添加自定义 HTTP 头。...complete(XHR, TS) 类型:Function 请求完成后回调函数 (请求成功或失败之后均调用)。 参数: XMLHttpRequest 对象和一个描述请求类型的字符串。...提供 data 和 type 两个参数:data 是 Ajax 返回的原始数据,type 是调用 jQuery.ajax 提供的 dataType 参数。... 1.4 ,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。...使用 JSONP 形式调用函数 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。 "text": 返回纯文本字符串

1.6K00

Ajax等待返回结果,弹出一个友好的等待提示

巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于向服务器发送请求前执行一些动作。...具体参考jquery官方文档:http://api.jquery.com/Ajax_Events/ [html] view plain copy print?...要避免这种现象,$.ajax请求的beforeSend方法把提交按钮禁用掉,等到Ajax请求执行完毕,恢复按钮的可用状态。...ajaxError 全局事件 全局的发生错误时触发 complete 局部事件 不管你请求成功还是失败,即便是同步请求,你都能在请求完成触发这个事件。...ajaxComplete 全局事件 全局的请求完成触发 ajaxStop 全局事件 当没有Ajax正在进行的时候,触发。

3.9K10

Ajax等待返回结果,弹出一个友好的等待提示

巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于向服务器发送请求前执行一些动作。...具体参考jquery官方文档:http://api.jquery.com/Ajax_Events/ $.ajax({       beforeSend: function(){        ...要避免这种现象,$.ajax请求的beforeSend方法把提交按钮禁用掉,等到Ajax请求执行完毕,恢复按钮的可用状态。...ajaxError 全局事件 全局的发生错误时触发 complete 局部事件 不管你请求成功还是失败,即便是同步请求,你都能在请求完成触发这个事件。...ajaxComplete 全局事件 全局的请求完成触发 ajaxStop 全局事件 当没有Ajax正在进行的时候,触发。

4.9K100

ajax 使用 与 缓存问题

jQuery 1.2 ,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数 "myurl?callback=?"...jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp" jQuery 将自动调用回调函数。...complete Function 请求完成后回调函数 (请求成功或失败调用)。参数: XMLHttpRequest 对象,成功信息字符串。...使用 JSONP 形式调用函数 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。...error Function (默认: 自动判断 (xml 或 html)) 请求失败调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。

2.2K20

jQuery 教程

事件处理程序指的是当 HTML 中发生某些事件调用的方法。 实例: 元素上移动鼠标。...该事件方法 jQuery 语法 章节已经提到过。 click() click() 方法是当按钮点击事件被触发时会调用一个函数。 该函数在用户点击 HTML 元素执行。...() 从匹配元素搜索给定元素 $.noConflict() 释放变量 $ 的 jQuery 控制权 $.param() 创建数组或对象的序列化表示形式(可在生成 AJAX 请求用于 URL 查询字符串...1.5介绍了 Deferred 延迟对象,它是通过调用 jQuery.Deferred() 方法来创建的链接的实用对象。...它可注册多个回调函数到回调列表,调用回调列表并且传递异步或同步功能的成功或失败的状态。 延迟对象是链接的,类似于一个 jQuery 对象链接的方式,区别于它有自己的方法。

17K20

详细解读JqueryAjax函数:$.get(),$.post(),$.ajax(),$.getJSON()

complete Function 请求完成后回调函数 (请求成功或失败调用)。 参数: XMLHttpRequest 对象,成功信息字符串。...使用 JSONP 形式调用函数 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。...error Function (默认: 自动判断 (xml 或 html)) 请求失败调用此方法。 这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。...ajaxComplete 全局事件全局的请求完成触发 ajaxStop (全局事件) 当没有Ajax正在进行的时候,触发 局部事件之前的函数中都有介绍,我们主要来看看全局事件。...单个AJAX请求,你可以将global的值设为false,以将此请求独立于AJAX的全局事件。

3.4K100

jQuery的deferred对象详解

今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。 这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。...即事先规定,一旦它们运行结束,应该调用哪些函数。 但是,回调函数方面,jQuery的功能非常弱。为了改变这一点,jQuery开发团队就设计了deferred对象。...简单说,deferred对象就是jQuery的回调函数解决方案。英语,defer的意思是"延迟",所以deferred对象的含义就是"延迟"到未来某个点再执行。...前面部分的ajax操作,deferred对象会根据返回结果,自动改变自身的执行状态;但是,wait()函数,这个执行状态必须由程序员手动指定。...(2) deferred.done() 指定操作成功的回调函数   (3) deferred.fail() 指定操作失败的回调函数   (4) deferred.promise() 没有参数,返回一个新的

1.3K60
领券