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

ajaxjs 事件执行顺序

有一个需求,滚轮滚动到相应位置时候执行当前动画,这个动画在footer里面,而网页主体通过ajax进行渲染,我在js里面调用ajax渲染数据,然后再获取主体高度,滚动到该高度时候执行动画。...我大致想了两种解决办法,均以失败告终,本地是ajax执行,服务器是js执行。...让获取高度事件时间延时500ms,发现最后获取不到事件了; 将该事件写在ajaxsuccess回调里面,结果是只有打开网页第一次能够成功,然后不管刷新多少次均无效,事件被屏蔽,所以方法二也被废除;...最后我想到了,ajax不就是一种异步方法,我将其改为同步不就行,先让ajax执行完在执行js事件。...当然这样做有弊端,如果接口出问题,ajax渲染失败,那么整个网页js都将执行不了。不过我想真到了数据都渲染不出地方,访问网页就没有意义了,所以最后我采用了这种方法。

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

    jquery ajax请求成功,数据返回成功,seccess不执行问题

    这时第一反应是事不时数据返回有问题,粗略检查了返回数据发现和第一次查询没有什么明显区别。但是只查询第十四条数据时发现,显示不出来。...这时开始怀疑,难道是JS程序有处理数据兼容性有问题,觉得甚是不可思议。整了大约半小时,越来越觉得不大可能。就放弃了这种想法。 有转向,重新审视数据。 但是发现数据从中间换行了,没太在意。...即如果你定义 dataType 是 json 类型,那么返回数据一定是 json 才可以,平且不然就会执行 error 里程序块儿。...原因是ajax请求跨域了,解决方法是在两个文件里都添加一段 js: [/b]document.domain,或者采用Jsonp方式,如我前一篇blog中提到。...还有一点对JQuery 中Ajax一点其它认识: 客户端发起请求,得到服务器端相应是200,没有问题.此时在判断进入success 对应回调函数还是进入到error对应回调函数之前

    3.9K30

    原生JSAjax

    转自:https://www.cnblogs.com/yufann/p/JS-Ajax.html 1.创建一个Ajax对象       非IE6浏览器:var obj = new XMLHttpReuqest...name='+new Date().getTime(),true); 3.发送请求          obj.send(); 4.接收返回值           请求状态监控:onreadystatechange...事件:当自己Ajax与服务器之间有通讯时触发            主要通过readyState属性来判断有没有结束,结束了也并没有成功,status属性来判断             1....0(未初始化)还没有调用send()方法                    1(载入)已经调用了send()方法,正在发送请求                    2(载入完成)send()方法执行完成...---返回值responseText:从服务器返回文本:obj.responseText(返回为字符串)  GET方式 function getAjax(){ var obj

    11.1K20

    Js原生Ajax和JqueryAjax

    Js原生Ajax和JqueryAjax 一、Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待 卡死状态 异步现象:客户端发送请求到服务器端...,直到服务器端将数据返回Ajax引擎后,会触发你设置事件,从而执行自定义js逻辑代码完成某种页面1 功能。...二、js原生Ajax技术(了解) js原生Ajax其实就是围绕浏览器内内置Ajax引擎对象进行学习,要使用js原 生Ajax完成异步操作,有如下几个步骤: 1)创建Ajax引擎对象 2)...形式也可以是json格式) callback:表示服务器端成功响应所触发函数(只有正常成功返回执行) type:表示服务器端返回数据类型(jquery会根据指定类型自动类型转换) 常用返回类型...data:发送到服务器参数,建议使用json格式 dataType:服务器端返回数据类型,常用text和json success:成功响应执行函数,对应类型是function类型 type

    19.6K20

    JS如何返回异步调用结果?

    为了更好地说明如何返回异步调用结果,先看三个尝试异步调用示例吧。...} 函数foo尝试调用一个接口并返回其内容,但每次执行都只会返回undefiend。...这是由JS主线程是单线程而决定JS代码执行到一定位置时候,它不能等待,等待意味着用户界面的卡顿,这是用户不能容忍。...JS采用异步线程优化该场景,当主线程中有异步操作发起时,主线程不会阻塞,会继续向下执行;当异步操作有数据返回时,异步线程会主动通知主线程:“Hi,老大,数据来了,现在要用吗?” “好!马上给我。”...在了解了JS异步机制以后,下面看前面三个示例如何正确改写。

    5.5K40

    JS如何控制任务执行顺序

    Eat supper~ 从这里不难看出,这里主要点是链式调用和流程控制 链式调用很简单,核心点就是函数执行完后 返回 this,栗子: class EatMan { eat(food) {...eat ${food} ~`); return this; } } new EatMan().eat('apple').eat('pear') 这样就实现链式调用了,下面上主菜 - 控制任务执行顺序...这里参考某些中间件实现思路,首先创建一个任务队列,把每个函数放进去,按顺序执行,每个函数执行完成后调用一个 next 函数,执行下一个函数 class EatMan { constructor(...name) { this.name = name; this.tasks = []; this.init(); // 利用 setTimeout 机制 在下一个事件循环才开始执行...Eat dinner~ Eat supper~ 首发自:JS如何控制任务执行顺序 - 小鑫の随笔

    3.6K30

    如何理解js执行上下文与执行

    执行上下文和执行栈是js执行机制中两个概念,要想深入js进行理解与应用,理解js机制很重要,下面来说一下什么是执行上下文,什么又是执行栈。...从他类型上来分,我们可以将其分为三类:全局执行上下文、函数执行上下文、Eval 函数执行上下文。 全局执行上下文是是默认、最基础执行上下文。...每个函数都拥有自己执行上下文,但是只有在函数被调用时候才会被创建。一个程序中可以存在任意数量函数执行上下文。每当一个新执行上下文被创建,它都会按照特定顺序执行一系列步骤。...引擎会运行执行上下文在执行栈顶端函数,当此函数运行完成后,其对应执行上下文将会从执行栈中弹出,上下文控制权将移到当前执行下一个执行上下文。...当 second() 函数执行完成后,它执行上下文从当前执行栈中弹出,上下文控制权将移到当前执行下一个执行上下文,即 first() 函数执行上下文。

    1.7K20

    JS如何处理多个ajax并发请求?

    通常 为了减少页面加载时间,先把核心内容显示处理,页面加载完成后再发送ajax请求获取其他数据 这时就可能产生多个ajax请求,为了用户体验,最好是发送并行请求,这就产生了并发问题,应该如何处理?...(1)并行改串行 如果业务逻辑和用户体验允许情况下,可以改为串行,处理起来最简单 function async1(){ //do sth......callback(); } function callback(){ cnt++; if(2==cnt) console.log('都已执行完毕'); } (3)循环非阻塞 function...cnt++; } var interval = setInterval(function(){ if(2===cnt){ console.log('已执行完成');...clearInterval(interval) } }; 这个方法采用了定时间隔触发器,占用CPU比较多,建议酌情使用 (4)jquery 使用jquery延时处理方法,每个ajax请求完成后

    5.5K61

    jsajax和jquery中ajax学习笔记

    一、JSAjax ajax:异步访问/局部刷新 1.同步和异步 2.Ajax运行原理 页面请求---->Ajax引擎----->提交给服务器端 这段时间可以做任何事情 服务器端响应------...>Ajax引擎----->触发设置好事件,执行自定义js逻辑代码,然后显示页面 js改变页面,其原理是改变是内存 3.ajax实现 创建ajax引擎 为ajax对象绑定监听 绑定提交地址(get/...post) 发送请求 总结: 所有的异步访问都是通过ajax引擎 二、JSON传递数据(重点) 1.JSON在ajax中数据传递格式 JSON传递数据一种格式,当使用异步传输时候, 当服务器响应数据时候...,需要使用一种格式在客户端和服务端进行传递 当服务端响应给客服端时候响应是字符串或者xml(ResponseText/ResponseXML), 如果响应一个对象给客户端时候就不能表示. 2.JSON...格式 三、jQuery中Ajax(重点) 再实际开发中使用下面三种方式: $.post(url,[date],[callback],[type]); $.get(url,[date

    2.7K40

    Ajax出错并返回整个页面html问题

    有这样一个例子在thinkPHP视图页面执行一个给评论点赞功能,为了强化用户体验,一般都采用ajax异步请求后台处理点赞数据,成功后页面执行局部更新后数据即可。...前台通常会用到jquery,通过执行jqueryajax方法更加简单方便完成任务请求。 简单描述下问题出现场景 tinkPHP在应用路由后视图页面执行ajax,并没有正常放回数据。...以下代码描述了一个获取评论ID,到ajax请求过程。根据后台处理规则,cmthot方法会返回一个更新后点赞数据(data)返回到前台。...获取评论ID丢到模型(模型代码就不贴了)去处理后拿到新增后点赞数返回给前台。...前台(前述代码)通过.html重写了新数据。 发现问题根源出自路由 为了排错,当时就把ajax改成了a链接直接提交。返回结果一切正常,也就是说后台控制器和模型均正常,没有错误。

    2K10

    如何ajax 连接mysql数据库,并且获取从中返回数据。ajax获取从mysql返回数据。responseXML分别输出不同数据方法。

    ,它用来发送命令,发送什么呢,open命令 46 //发送数据,开始和服务器端进行交互 47 //同步方式下,send语句会在服务器端返回数据后才执行 48...//异步方式下,send语句会立即执行 49 xmlHttp.send(null); 50 }else{ 51 alert("出错,请重新尝试...; 52 return; 53 } 54 } 55 56 57 58 //回调函数,就是刚才定义函数,用来获取从服务器文件,asp或者php或者其他返回信息...xmlDoc = xmlHttp.responseXML; 81 //这里把返回数据以XML格式存到变量中。...82 //还有一种返回式以字符串形式返回,responseText,这个可以用下标法逐个输出,但是注意,逐个输出是字符, 83 //也就是说,你想要一个字符串会被拆成几份

    7.7K81

    uniapp如何封装全局方法 并返回执行结果

    在uniapp中你可以这样实现,你可以使用Promise对象来实现当全局公共方法执行完后执行调用者逻辑。...以下是一个简单示例代码:修改common.js文件中代码,使用Promise对象封装公共方法:// common.jsexport default { // 定义一个全局公共方法 commonMethod...= "执行结果"; // 将执行结果返回给调用者 resolve(result); }); }}在页面中调用全局公共方法,并使用await关键字等待公共方法执行完毕后获取执行结果...} }}在上面的代码中,我们将全局公共方法封装在一个Promise对象中,并在公共方法中使用resolve()方法将执行结果返回给调用者。...然后,在页面中使用async/await语法,使用await关键字等待全局公共方法执行完毕,并获取执行结果。最后,我们在获取执行结果后,可以执行其他逻辑。

    3.2K81

    JS|函数返回

    我们先来看一组代码 function kunkun(aru){ console.log(aru)}kunkun('打篮球') 这个看似能输出结果,实则是在逻辑上是不合理,我们函数是做某件事或者实现某种功能...所以,接下来我会介绍一种逻辑更严谨代码。 解决方案 return语句 有的时候,我们希望函数将返回返回给调用者,此时通过使用return语句就可以实现。...函数返回值格式 function 函数名(){ return 需要返回结果;}函数名(); 函数只是实现某种功能,最终结果需要返回给函数调用者。是通过return来实现。...只要函数遇到return就会把后面的结果,返回给函数调用者。...num2){ return num1 + num2;}console.log(sum(1,2)) 结果输出为:3 由此可知,不要在函数内部输出结果,应该return给函数调用者。

    11.4K10
    领券