首页
学习
活动
专区
圈层
工具
发布

ajax 和 js 事件的执行顺序

有一个需求,滚轮滚动到相应位置的时候执行当前的动画,这个动画在footer里面,而网页的主体通过ajax进行渲染,我在js里面调用ajax渲染数据,然后再获取主体的高度,滚动到该高度的时候执行动画。...我大致想了两种解决办法,均以失败告终,本地是ajax先执行,服务器是js先执行。...最后我想到了,ajax不就是一种异步方法,我将其改为同步不就行,先让ajax执行完在执行js事件。...async: false, 我在ajax里面写了async这个方法,false 意思是将其默认为同步获取数据,很好,回到服务器打开控制台,发现是先渲染了数据,才获取了主体的高度,问题得以解决。...当然这样做有弊端的,如果接口出问题,ajax渲染失败,那么整个网页的js都将执行不了。不过我想真到了数据都渲染不出的地方,访问网页就没有意义了,所以最后我采用了这种方法。

3.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js书写原生ajax,JS 原生ajax写法

    onreadystatechange 状态改变就会调用 xhr.onreadystatechange = function () { if (xhr.readyState === 4) { // 成功完成...原生ajax 原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRe...动态网页:是指可以通过服务器语言结合数 … JS原生Ajax&;Jquery的Ajax技术&;Json 1.介绍Ajax Ajax = 异步 JavaScript 和 XML...删除用户,使用了js原生ajax 主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: 1 2 [代码]JS原生...Ajax,GET和POST javascript/js的ajax的GET请求: Jquery学习笔记(10)–ajax删除用户,使用了js原生ajax 主要复习了php的pdo数据库操作,

    18.1K40

    Java多种方法实现等待所有子线程完成后再继续执行

    简介 在现实世界中,我们常常需要等待其它任务完成,才能继续执行下一步。Java实现等待子线程完成再继续执行的方式很多。我们来一一查看一下。...Thread的join方法 该方法是Thread提供的方法,调用join()时,会阻塞主线程,等该Thread完成才会继续执行,代码如下: private static void threadJoin(...All Tasks... executorService.isTerminated() ExecutorService调用shutdown()方法后,可以通过方法isTerminated()来判断任务是否完成...executeServiceIsTerminated Finished All Tasks... executorService.awaitTermination executorService.awaitTermination方法会等待任务完成...executorService.shutdown(); awaitTerminationAfterShutdown(executorService); } 这里不同任务的时长是不一样的,但会先返回最早完成的任务

    1.1K20

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

    巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。...要避免这种现象,在$.ajax请求中的beforeSend方法中把提交按钮禁用掉,等到Ajax请求执行完毕,在恢复按钮的可用状态。...你无法同时执行success和error两个回调函数。...ajaxError 全局事件 全局的发生错误时触发 complete 局部事件 不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件。...ajaxComplete 全局事件 全局的请求完成时触发 ajaxStop 全局事件 当没有Ajax正在进行中的时候,触发。

    5.8K100

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

    巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。...要避免这种现象,在$.ajax请求中的beforeSend方法中把提交按钮禁用掉,等到Ajax请求执行完毕,在恢复按钮的可用状态。...你无法同时执行success和error两个回调函数。...ajaxError 全局事件 全局的发生错误时触发 complete 局部事件 不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件。...ajaxComplete 全局事件 全局的请求完成时触发 ajaxStop 全局事件 当没有Ajax正在进行中的时候,触发。

    4.7K10

    原生JS的Ajax

    转自:https://www.cnblogs.com/yufann/p/JS-Ajax.html 1.创建一个Ajax对象       非IE6浏览器:var obj = new XMLHttpReuqest...Date().getTime(),true); 3.发送请求          obj.send(); 4.接收返回值           请求状态监控:onreadystatechange事件:当自己的Ajax...                   0(未初始化)还没有调用send()方法                    1(载入)已经调用了send()方法,正在发送请求                    2(载入完成...)send()方法执行完成,已经接收到全部响应内容                    3(交互)正在解析响应内容                    4(完成)响应内容解析完成,可以在客户端调用了...(完成不一定成功,需要status来检测是否成功)              2.

    12.7K20

    Js原生Ajax和Jquery的Ajax

    Js原生Ajax和Jquery的Ajax 一、Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端...,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面1 功能。...二、js原生的Ajax技术(了解) js原生的Ajax其实就是围绕浏览器内内置的Ajax引擎对象进行学习的,要使用js原 生的Ajax完成异步操作,有如下几个步骤: 1)创建Ajax引擎对象 2)...事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。...js原生的ajax进行了封装,封装后的ajax的操 作方法更简洁,功能更强大,与ajax操作相关的jquery方法有如下几种,但开发中 经常使用的有三种 1).get(url, [data], [callback

    21.2K20

    原生JS--Ajax

    t='+new Date().getTime(),true);       --同步:js中指事情必须一件一件来       --异步:js中指多件事情要一起做       --ajax是做异步传输的,...)send()方法完成,已经收到全部相应内容          --3(解析)正在解析收到的响应内容          --4(完成)响应内容解析完成,可以在客户端调用(完成并不一定成功,需要status...        if(oAjax.status==200){  //读取的结果是成功             fnSuccess(oAjax.responseText); //成功时执行的函数          ...(url,fnSuccess,fnFaild){ 26 //1.创建Ajax对象 27 //js中,使用一个没有定义的变量会报错,使用一个没有定义的属性,是undefined 28 //IE6...44 if(oAjax.status==200){ //读取的结果是成功 45 fnSuccess(oAjax.responseText); //成功时执行的函数 46

    7.8K21

    子线程如何等待主线程执行完再执行

    比如我们需要在一个巨大的业务逻辑方法中需要临时执行一些特殊的业务逻辑,但是这部分逻辑对主线程的执行结果不影响,那么我们就需要开一个子线程执行。...假设子线程执行的部分业务是需要依赖主线程执行的结果(数据库的数据)的话,就必须要保证执行子线程的时候,主线程已经执行完毕(提交了事务)。...第一个方法用来实现业务的主要逻辑,第二个方法用来处理特殊的操作,第一个方法上我们单独开一个事务(propagation = Propagation.REQUIRES_NEW),再执行第二个方法时第一个方法事务已经提交...第二种:考虑到复杂系统的代码维护难度,对代码改动过大的话可能会产生不可预测的严重后果,老板可能就不介意对现有的方法做拆分,在这种情况下如何保证主方法已执行完呢。...,user);上面是通过获取父线程的线程状态来判断父线程是否已经执行完成,然后再保守等待15秒的时间

    32310

    ExecutorService之等待线程完成-Java快速进阶教程

    我们将举例说明一些等待线程完成执行的场景。 此外,我们还将展示如何优雅地关闭ExecutorService并等待已经运行的线程完成其执行。...不过,它不会等到所有线程停止执行。等待现有线程完成它们的执行可以通过使用waitterminate()方法实现。...例如,如果我们需要当前线程等待另外 N 个线程完成它们的执行,我们可以使用N 初始化闩锁: ExecutorService WORKER_THREAD_POOL = Executors.newFixedThreadPool...结论 根据用例,我们有各种选项来等待线程完成其执行。 当我们需要一种机制来通知一个或多个线程其他线程执行的一组操作已完成时,CountDownLatch很有用。...当我们需要尽快访问任务结果时,ExecutorCompletionService很有用,当我们想要等待所有正在运行的任务完成时,其他方法很有用。

    49500
    领券