我有一个Web应用程序,每次连接都会进行HTTP握手,我决定找出原因。 HTTP keep-alive正在运行,因此它会强制请求在不应该启动新的HTTPs握手时使用其他东西。
我有类似的东西(伪代码):
startNewRequest() {
if (oldRequest)
oldRequest.abort(); // abort old request
oldRequest = $.ajax(); // start new request
}
请求对象是jQuery的ajax方法返回的XMLHttpRequest。每当我开始请求时,我都会中止以前的请求。
我的问题是,这是否会强制新请求启动HTTP握手,因为旧请求尚未完成。请求是常规POST。在开始新请求之前,是否需要显式等待about()完成才能利用HTTP保持活动状态?
对于我中止的每个请求,我都会在$ .ajax()的错误回调中接到一个调用。只有在错误处理程序中收到回调后才需要启动新请求吗?
答案 0 :(得分:1)
在$ .ajax中使用完整或错误
$.ajax({
url : RequestUrl,
complete : function(){
// Do something when request complete
}
});
$.ajax({
url : RequestUrl,
error: function(){
// Do something when an error occurred when the request is done
}
});
答案 1 :(得分:0)
$.ajax({
url : yoururl,
success : function(){
// Do whatever
// oldRequest = $.ajax();
}
});