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

在外部ajax调用后,当DOM准备就绪时,如何获得回调?

在外部ajax调用后,当DOM准备就绪时,可以通过以下几种方式获得回调:

  1. 使用回调函数:在ajax请求中,可以通过设置回调函数来处理请求成功后的操作。在DOM准备就绪时,调用该回调函数即可执行相应的操作。例如:
代码语言:javascript
复制
$.ajax({
  url: 'example.com/api',
  success: function(response) {
    // 处理请求成功后的操作
  }
});

$(document).ready(function() {
  // DOM准备就绪时执行的操作
});
  1. 使用Promise对象:Promise对象是一种用于处理异步操作的标准化解决方案,可以通过Promise对象来处理ajax请求的回调。在DOM准备就绪时,可以使用Promise的then方法来执行相应的操作。例如:
代码语言:javascript
复制
function makeAjaxRequest() {
  return new Promise(function(resolve, reject) {
    $.ajax({
      url: 'example.com/api',
      success: resolve,
      error: reject
    });
  });
}

makeAjaxRequest().then(function(response) {
  // 处理请求成功后的操作
});

$(document).ready(function() {
  // DOM准备就绪时执行的操作
});
  1. 使用事件监听:可以通过监听DOM的特定事件来触发回调函数。在ajax请求完成后,可以手动触发该事件,从而执行相应的操作。例如:
代码语言:javascript
复制
$(document).on('ajaxComplete', function() {
  // 处理ajax请求完成后的操作
});

$(document).ready(function() {
  // DOM准备就绪时执行的操作
  $.ajax({
    url: 'example.com/api',
    complete: function() {
      $(document).trigger('ajaxComplete');
    }
  });
});

以上是几种常见的方式来获得在外部ajax调用后,当DOM准备就绪时的回调。根据具体的需求和项目情况,选择适合的方式来处理回调操作。

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

相关·内容

深入理解Javascript单线程谈Event Loop

同步:发出调用后没有得到结果前,该调用不返回。但是一旦调用返回,就得到返回值 异步:发出调用后,调用直接返回,没有返回结果。但结果由函数给出,至于什么时候给出,不知道。...(这个函数肯定是在当前js执行完后才执行) 3.阻塞与非阻塞 阻塞和非阻塞关注的是:程序等待调用结果的状态. 阻塞调用:调用结果返回之前,当前线程被挂起。调用线程只有得到结果后才会返回。...程序中代码依次进入栈中等待执行,调用setTimeout()方法浏览器的定时器线程下处理延时方法,setTimeout方法执行5秒后,到达触发条件,方法被添加到用于的任务队列。...3、未来的某一刻,数据完全请求回来以后,事件触发线程监视到之前发起的HTTP请求已完成,会将指定的函数放入任务队列中。   ...4、浏览器执行栈空闲时,去扫描任务队列中的函数,依次压入执行栈中处理。 所以:ajax请求是异步。由浏览器新开一个线程请求,事件的时候放入Event loop任务队列等候处理。

1.5K10

一个小时学会jQuery

5.1、函数 如果要处理$.ajax()得到的数据,则需要使用回函数。beforeSend、error、dataFilter、success、complete。...并且必须返回新的数据(可能是处理过的)传递给success函数。 success 请求之后调用。传入返回后的数据,以及包含成功代码的字符串。...服务器端应当在JSON数据前加上回函数名,以便完成一个有效的JSONP请求。如果要指定函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数。...也就是说,让函数内this指向这个对象(如果不设定这个参数,那么this就指向调用本次AJAX请求传递的options参数)。...比如指定一个DOM元素作为context参数,这样就设置了success函数的上下文为这个DOM元素。

18.5K71
  • 关于闭包

    ...而是执行过程中 a函数被当成一个返回值被返回 才会生成一个闭包..    ...事件函数中的使用 //更新元素内容 ajax //第一个参数为dom元素 //第二个参数发送的url function updateElement( elem, url ){     //jquery...依次打印出0-9 而是每一个元素点击后都打印了10     造成的原因就是 绑定click事件 函数并未执行  函数执行时 i已经变成了10 所以打印的结果都会变成10     解决方法:...而上面讲闭包的使用场景 其中有一条就是事件函数 一个事件函数位于一个作用域内的时候...作用域执行外后 由于函数并未马上执行..而是等到相应事件触发才执行...函数依赖该作用域内的临时变量......导致该作用域内部使用的临时变量无法马上被垃圾回收(意味着该临时变量不会消失)     目前我们拥有一个事件函数 要做的就是需要让这个事件函数位于一个函数作用域内     代码: for

    2K20

    Vue生命周期

    后续的钩子函数执行的过程都是需要外部的触发才会执行。比如说有数据的变化,会调用beforeUpdate,然后经过Virtual DOM,最后updated更新完毕。...组件被销毁的时候,它会调用beforeDestory,以及destoryed。 钩子函数,其实和是一个概念,系统执行到某处,检查是否有hook,有则。...常用于简单的ajax请求,页面的初始化。 beforeMount: 挂载开始之前被调用,beforeMount之前,会找到对应的tempiate,并编译成render函数。...Mounted: 实例挂载到DOM上,此时可以通过DOM API获取到DOM节点,$ref属性可以访问。常用于获取VNode信息和操作,ajax请求。...Destroyed: 实例销毁后调用,调用后,Vue实例指示的所有东西都会解绑定,所有的时间监听器会被移除,所有的子实例也会被销毁。

    80510

    jQuery ajax - ajax() 方法jQuery ajax - ajax() 方法

    也就是说,让函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求传递的 options 参数)。...比如指定一个 DOM 元素作为 context 参数,这样就设置了 success 函数的上下文为这个 DOM 元素。...注意:远程请求(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载) "json": 返回 JSON 数据 。...通常只本地和远程的内容编码不同时使用。 success 类型:Function 请求成功后的函数。...并且必须返回新的数据(可能是处理过的)传递给 success 函数。 success 请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

    14.5K30

    《JavaScript 模式》读书笔记(5)— 对象创建模式3

    此外,为了方便起见,让我们假设没有传递任何模块,沙箱也会将其认定为“*”。...Sandbox('dom','event',function(box) { // 使用DOM和事件来运行 Sandbox('ajax',function (box) {...// 这里没有Ajax模块 });   从上面这些例子中可以看到,使用本沙箱模式,可以通过将代码包装到函数中从而保护全局命名空间。   ...该构造函数的最后一个参数是一个函数。该回函数将会在使用新创建的实例最后被调用。这个函数实际上是用户的沙箱,它可以获得一个填充了所需功能的box对象。...第7章中,涉及单体模式,可以看到一个使用静态属性以实现类似类的单体构造函数的例子。

    43020

    jQuery学习笔记

    AJAX 1. 请求与 jQuery的AJAX,核心的请求处理函数只有一个,就是 $.ajax(),然后就是一个简单的上层函数。...,具体的错误描述: NotFound, InternalServerError等 complete 请求结束(无论成功或失败)的一个函数。...Deferred Deferred对象是jQuery1.5中引入的管理对象。其作用是把一堆函数按顺序放入一个调用链,然后根据状态来依次调用这些函数。AJAX的所有操作都是使用它来进行封装的。...Callbacks 事实上,`Deferred`机制,只是`Callbacks`机制的上层进行了一层简单封装。`Callbacks`对象才是真正的jQuery中定义的原始的管理机制。...函数返回 false终止调用链的执行 CallbackS的控制方法: callbacks.add() 添加一个或一串函数 callbacks.fire() 激发回 callbacks.remove

    3.5K20

    《JavaScript 模式》读书笔记(5)— 对象创建模式3

    此外,为了方便起见,让我们假设没有传递任何模块,沙箱也会将其认定为“*”。...Sandbox('dom','event',function(box) { // 使用DOM和事件来运行 Sandbox('ajax',function (box) {...// 这里没有Ajax模块 });   从上面这些例子中可以看到,使用本沙箱模式,可以通过将代码包装到函数中从而保护全局命名空间。   ...该构造函数的最后一个参数是一个函数。该回函数将会在使用新创建的实例最后被调用。这个函数实际上是用户的沙箱,它可以获得一个填充了所需功能的box对象。...第7章中,涉及单体模式,可以看到一个使用静态属性以实现类似类的单体构造函数的例子。

    62320

    【愚公系列】2023年03月 其他-Web前端基础面试题(JS_高级_47道)

    闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中,不会在外部函数调用后被自动清除。...then 方法接受两个参数,第一个参数是成功 promise 由“等待”态转换到 “完成”态时调用,另一个是失败 promise 由“等待”态转换到“拒绝”态时调用。...5、闭包引起内存泄漏 比如事件处理,导致DOM对象和脚本中对象双向引用。...GET请求从后台页面返回,可以返回一段JavaScript代码,这段代码会自动执行,可以用来负责调用后台页面中的一个callback函数。...引用数据类型:同时存储栈和堆中,占据空间大,大小不固定。引用数据类型栈中存储了指针,该指针指向堆中该实体的起始地址。解释器寻找引用值,会首先检索其栈中的地址,取得地址后从堆中获得实体。

    48420

    jquery中ajax参数详解

    也就是说,让函数内 this 指向这个对象(如果不设定这个参数,那么 this 就指向调用本次 AJAX 请求传递的 options 参数)。...比如指定一个 DOM 元素作为 context 参数,这样就设置了 success 函数的上下文为这个 DOM 元素。...注意:远程请求(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载) "json": 返回 JSON 数据 。...使用 JSONP 形式调用函数,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行函数。...并且必须返回新的数据(可能是处理过的)传递给 success 函数。 success 请求之后调用。传入返回后的数据,以及包含成功代码的字符串。

    2.1K30

    初学者必看Ajax的总结

    二、创建 ajax 的步骤 Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 javascript 来操作 DOM 而更新页面。...(默认为 true,一般不建议为 false) false:同步模式发出的请求会暂停所有 javascript 代码的执行,知道服务器获得响应为止,如果浏览器连接网络时或者在下载文件出了故障,页面就会一直挂起...客户端声明函数之后,客户端通过 script 标签向服务器跨域请求数据,然后服务端返回相应的数据并动态执行函数 用 XMLHttpRequest ,我们得到一个字符串;要用JSON.parse...请求完成后的函数(请求成功或失败都调用)参数:XMLHttpRequest 对象和一个描述成功请求类型的字符串function(XMLHttpRequest,textStatus){this;/.../调用本次 Ajax 请求传递的 options 参数} success Function 请求成功后调用的函数,有两个参数(1)由服务器返回,并根据 dataTyppe 参数进行处理后的数据(2

    2.6K40

    Ajax:初次认识ajaxajax使用方法

    Google Suggest 使用 AJAX 创造出动态性极强的 web 界面:您在谷歌的搜索框输入关键字,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。...登陆,提示用户名密码错误 删除数据行时,将行ID发送到后台,后台在数据库中删除,数据库删除成功后,页面DOM中将数据行也删除。...(全局) success:成功之后执行的函数(全局) error:失败之后执行的函数(全局) accepts:通过请求头发送给服务器,告诉服务器当前客户端可接受的数据类型...DOM,如果包含JavaScript标签,则会尝试去执行。...为正确的函数名,以执行函数 我们来个简单的测试,使用最原始的HttpServletResponse处理 , .最简单 , 最通用 9.4、Springmvc实现 成功实现了数据显!

    5.8K20

    拿到大厂前端offer的前端开发是怎么回答面试题的_2023-03-15

    然后浏览器解析到 script 标签,会暂停构建 DOM,完成后才会从暂停的地方重新开始。...异步指的是一个进程执行某个请求,如果这个请求需要等待一段时间才能返回,这个时候进程会继续往下执行,不会阻塞等待消息的返回,消息返回系统再通知进程进行处理。如何防御 XSS 攻击?...(4)Poll(轮询阶段):队列不为空:会执行,若中触发了相应的微任务,这里的微任务执行时机和其他地方有所不同,不会等到所有执行完毕后才执行,而是针对每一个执行完毕后,就执行相应微任务...队列为空(没有或所有执行完毕):但如果存在有计时器(setTimeout、setInterval和setImmediate)没有执行,会结束轮询阶段,进入 Check 阶段。...因为两个代码写在 IO 中,IO poll 阶段执行,执行完毕后队列为空,发现存在 setImmediate ,所以就直接跳转到 check 阶段去执行调了。

    49420

    百度前端一面必会vue面试题合集

    触发 DOM 更新。调用 beforeRouteEnter 守卫中传给 next 的函数,创建好的组件实例会作为函数的参数传入。...computed的值才会重新调用对应的getter来计算computed适用于计算比较消耗性能的计算场景watch:更多的是「观察」的作用,类似于某些数据的监听,用于观察props $emit或者本组件的值...实例完成:数据观测、属性和方法的运算、watch/event 事件。无$el .beforeMount:挂载之前调用,相关render 函数首次被调用mounted:了被新创建的vm....watch 侦听器 : 更多的是观察的作用,无缓存性,类似于某些数据的监听,每当监听的数据变化时都会执行调进行后续操作。...使用自定义指令直接修改 value 值绑定v-model的值也不会同步更新;如必须修改可以自定义指令中使用keydown事件,vue组件中使用 change事件,中修改vue数据;(1)自定义指令基本内容全局定义

    1.7K50

    第三方登录(2)---GitHub登录

    上一篇介绍了如何实现第三方QQ登录,其实都不涉及后端。在前端使用js就可以实现第三方QQ登录。然后如果有数据库操作可以发起ajax请求将登录得到的用户信息发给后端,在后端对用户信息进行保存。...另一个就是我们注册应用设置的地址。用户授权成功就会跳转到我们设定的地址。现在来看下代码: ? 可以看到我们在这里设置了一个a标签,点击a标签会重定向到GitHub授权界面。...我们可以看到,我们授权界面成功登录后会调到我们的界面,并附加code参数。我们需要取到url中code,然后开始第二步操作。...前端第一步获取到code之后,发起ajax请求后端获取access_token,并且打印access_token的值,我们浏览器端测试看看是否有效果。 ?...可以看到我们成功获取到用户个人信息,最后前端发起ajax请求调用后端的获取用户信息接口 ? 我们发起ajax请求后端获取用户数据的接口,然后获取到用户数据后直接在界面显示出来。

    1.8K20

    不使用回函数的ajax请求实现(async和await简化函数嵌套)

    虽然这种嵌套的场景web前端开发中比较罕见, 但在nodejs服务器端开发领域还是常见的。 那如何克服这个问题?假如用php来写, 那便是一件很轻松的事了。...先把上面用JavaScript实现的多层嵌套调用同步的方式来改写, 代码如下 代码由ajax和run这两个函数组成, ajax是对jquery ajax的封装,使之能不使用回函数就能获得ajax的响应结果...函数被声明为async类型,如果这个函数要有返回值 ,并且返回值要在某个函数中获得,那么这个函数的返回结果就只能是一个 Promise对象,就像示例的ajax函数一样,返回值如果是其它类型那就达不到期望的效果...因为没辙啊, 试想一下,ajax函数中使用return语句, 意义何在?因此也只能变向的通过Promise将返回值扔给外部的调用者。...所以,使用async和await的第一个要点就是 函数要获得异步结果,可以函数声明为async类型, 函数的返回值设为Promise类型对象,而Promise中的resolve和reject是用来向

    2.8K50
    领券