#php #jquery #ajax #time #response
#php #jquery #ajax #время #ответ
Вопрос:
Как я могу рассчитать время отклика AJAX? Мне нужно это в скрипте, потому что я получаю обратно временную метку сервера, но если запрос занимает более 1 секунды, мне нужно добавить 1 секунду к временной метке!
Ответ №1:
Вам нужно получить время начала (непосредственно перед выполнением AJAX-запроса), а затем время окончания, когда скрипт будет завершен. Вы можете определить разницу, и если она превышает 60 секунд, делайте свое дело.
//Before the AJAX function runs
var startTime = new Date().getTime();
//Place this code inside the success callback of your AJAX function
var endTime = new Date().getTime();
if ((endTime - startTime) > (60 * 1000)) {
//Took longer than 60 seconds
}
Ответ №2:
Вы можете установить две временные метки, одну перед вызовом AJAX и после его завершения, а затем разделить их.
var currentTime = new Date();
Вызывайте приведенный выше код до и после вашего вызова ajax.
Для того, чтобы получить разницу datetime, смотрите Ссылку: http://www.javascriptkit.com/javatutors/datedifference.shtml
Комментарии:
1. Да, это будет хороший метод, но эта временная метка javascript может быть изменена, если пользователь очень быстро изменит время своего компьютера, не так ли?
2. Им пришлось бы делать это чрезвычайно быстро. Является ли это вероятным результатом? Каково потенциальное падение этого действия? Вы перегибаете палку, если защищаетесь от этого?
3. Довольно неосуществимо думать, что пользователь сможет вовремя менять часы своего компьютера. — Вы также могли бы использовать setInterval, поскольку я не думаю *, что это зависит от системного времени.