当我使用$.ajax
参数发出timeout:
个查询,并且我的timeout
符合时调用error:
,这意味着什么?
更具体地说: 这是否意味着服务器收到了请求,但仍在处理它?这可能意味着可能会产生一些影响,因此我可能不得不在服务器上取消它,或以某种方式使已经部分写入数据库的数据无效。
或者这是否意味着我根本无法到达服务器?很高兴知道从那以后我不必处理服务器上的部分数据"保存"
或者这是否意味着请求成为其中的一部分,现在我们失去了它的踪迹?在这种情况下,我必须真正询问服务器,"哦,嘿,关于我之前发送的请求...你有没有得到那个?是吗?好吧,忽略最后一次保存"
像tracert
这样的操作系统命令清楚地说明TCP命令可能有很多服务器需要通过,所以如果一个服务器没有响应,很难判断它是否得到它。但是有些协议要求回送被认为是可接收的(所以我不确定HTTP或Apache是否参与其中)
答案 0 :(得分:1)
客户端在放弃之前等待服务器等待的时间。
服务器可能已经或可能没有完成其任务。客户端了解这一点的唯一方法是通知客户端。由于您不想让一个进程或一个人永远等待,所以通过使用超时,您可以指定在放弃之前等待成功的时间。