如何在 ajax 返回数据后再次渲染表格?
我用原生 JS 写了三个 ajax 请求,发现代码都是重复的,于是封装成一个方法传 url 和 data 进去,但是我在写渲染 dom 时发现,ajax 返回的值还未获取到页面就已经渲染完了,我猜想是因为 ajax 异步的原因。原本我想用定时器判断值是否为空,但是感觉这样岂不是又要写三个定时器?!
所以,现在有什么好办法让 ajax 返回数据后再次渲染页面呢?
感觉自己好笨啊,想不出灵活的办法😭

js 有一个神技叫 回调函数

有一个东西叫 Promise

ajax 有同步选项的,并不全是异步。

await

  1. ajax 可以设置为同步的,sync:true
  2. 你可以 把回调函数 传到你封装的 方法里去,把渲染的步骤写在回调里。

    developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Promise

办法一:请求设置会同步。 但这样页面会卡顿。
办法二:发起请求时,页面不做渲染动作。等回调有结果再渲染。

yourAjaxFuncion(url,data,callback);
调用时:
yourAjaxFunction("/xxx",jsonStr,function(){})

回调函数、Promise 、rxjs

我觉得你会问这个问题多半是基本有问题,恶补下

Promise all

看了下你的前端笔记

ES6 还没学到 Promise ?

还没😥,你在 git 上看的我的笔记吗😂

感谢各位花费宝贵的时间回复本帖,看完深知小弟基础太差了,马上恶补

有个叫做 document ready 等 ready 了 再 ajax 然后回掉操作

ajax 回调就好啦

大佬,之前搜 nodejs 网关,看到了你的一个帖子 www.hesudu.com/t/731916 ,想交流一下,可以加个 v 吗

大佬,之前搜 nodejs 网关,看到了你的一个帖子 h-ttps://www.hesudu.com/t/731916 ,想交流一下,可以加个 v 吗。

async,await,fetch

sync
promise
callback

先把同步异步搞清楚

github 邮件联系吧 要不然微信给➕爆了

jquery 的 send before 回调了解一下