有没有方法可以使得前一个ajax请求没有处理完毕前,下一个ajax请求先等待?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有方法可以使得前一个ajax请求没有处理完毕前,下一个ajax请求先等待?相关的知识,希望对你有一定的参考价值。
如题,我使用jQuery的keydown event,使得在一个textarea输入的同时更新一个文件,同时将更新后的文件显出在另一个窗口中。可是如果打字速度比后台php处理速度快,那么我觉得会可能产生混乱。如何处理这样的情况呢?JS本身有提供处理这种情况的机制吗?
参考技术A 不会有这种问题出现,请理解ajax的原理跟它的运行过程,简单的说ajax就是把服务器端的数据传回去给客户端,它有一个响应的过程响应代码为200还有一个完成数据返回的过程,完成代码为四,ajax本身会处理,所以不必要去担心追问我知道有这几个statues,不过我的担心是,第二个ajax require和第一个ajax require之间本身的关联问题,是本身服务器会一次处理一个请求,还是同时处理多个?例如,当第一个请求处理进度为2的时候,第二歌请求进来,然后第一个到4了,返回。但是第二个请求已经在处理,那么,输出就会有两个,一个是第一个的,一个是第二个的,而这两个之间的输出也就没有关联可言了,因为第二个请求处理的时候并不是按照第一个的输出进行
追答ajax是异步传输的,所以不怕啊。
本回答被提问者采纳 参考技术B 给你个思路吧,在一个ajax请求的callback回调事件里进行另一次ajax请求就可以了,也就是第一个执行完了之后再执行另一个 楼上的,人家用的是jq,你用的原生的js,当然要进行判断,如果用jq的话就可以不做判断了追问也就是
$.ajax(
success:function()
$.ajax();
);
?
可是,每當我keydown的時候,我還是call最外面的$.ajax呀。
function createXmlHttpRequest()
if(window.ActiveXObject)
return new ActiveXObject("Microsoft.XMLHTTP");//windows浏览器
else if(window.XMLHttpRequest)
return new XMLHttpRequest();//其他浏览器
Flask之请求钩子
什么是请求钩子?说白了,就是在执行视图函数前后你可以进行一些处理,Flask使用装饰器为我们提供了注册通用函数的功能。
- before_first_request:在处理第一个请求前执行
- before_request:在每次请求前执行
- after_request:每次请求之后调用,前提是没有未处理的异常抛出
- teardown_request:每次请求之后调用,即使有未处理的异常抛出
from flask import Flask
app = Flask(__name__)
@app.before_first_request
def before_first_request():
print(‘before_first_request‘)
@app.before_request
def before_request():
print(‘before_request‘)
@app.after_request
def after_request(resp):
print(‘after_request‘)
return resp
@app.teardown_request
def teardown_request(e):
print(‘teardown_request‘)
@app.route("/")
def view_fn():
return "view_fn"
if __name__ == "__main__":
app.run()
第一次请求:
页面输出:view_fn
控制台输出: before_first_request
before_request
after_request
teardown_request
第二次请求:
页面输出:view_fn
控制台输出: before_request
after_request
teardown_request
来源:https://segmentfault.com/a/1190000017482371
以上是关于有没有方法可以使得前一个ajax请求没有处理完毕前,下一个ajax请求先等待?的主要内容,如果未能解决你的问题,请参考以下文章