ajax 同步和异步区别:
我们在使用 ajax 一般都会使用异步处理。 异步处理呢就是我们通过事件触发到 ajax,请求服务器,在这个期间无论服务器有没有响应,客户端的其他代码一样可以运行。 同步处理:我们通过实践触发 ajax,请求服务器,在这个期间等待服务器处理请求,在这个期间客户端不能做任何处理。当 ajax 执行完毕才会继续执行其他代码。 同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事 异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕同步 需要等待返回结果才能继续,异步不必等待,一般需要监听异步的结果 同步是在一条直线上的队列,异步不在一个队列上 各走各的 jquery的async:false,这个属性 默认是true:异步,false:同步。 举例: 同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。 异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到忙完才去吃饭。支付宝的同步和异步的区别:
同步是给客户看的,异步是服务器处理请求。 同步是客户充值或者支付成功了,给客户一个提示,告诉客户这个操作的结果是成功还是失败。起到的作 用就是提示客户这个操作的结果是成功还是失败。 异步是服务器在后端处理支付成功或失败时的业务逻辑。 同步通知:用于用户在支付宝页面付款完毕后自动跳转; 异步通知:其实是处理业务逻辑,比如说修改客户的支付状态; 同步得到通知后跳转到自己的网址,然后根据参数告诉客户支付结果,然后在更新状态。 异步其实就是一个双保险,如果同步没有跳转你的网址,可能是关机了,或者网速慢,无法完成数据更新 的状态,这时候异步就发挥作用了,先判断是否支付,支付了就不必更新了,只返回支付宝success就行 了,不然会一直异步通知