Как работает JQuery AJAX таймаут? - PullRequest
0 голосов
/ 31 октября 2018

Когда я вызываю $ .ajax (...) и устанавливаю значение времени ожидания для объекта запроса, что именно происходит, когда достигается предел времени ожидания?

То есть, может быть, запрос уже достиг сервера, и серверу потребовалось больше времени, чем запрошенный предел времени для обработки запроса, и jquery отказался и вернул ошибку времени ожидания?

Или можно предположить, что если сработал лимит тайм-аута, то запрос еще не был обработан сервером?

Когда я получаю сообщение об ошибке тайм-аута, у меня есть механизм повтора, который снова отправляет запрос на сервер. Однако, если исходный запрос действительно обрабатывался сервером, то повторный вызов запроса механизмом повтора в конечном итоге приведет к тому, что сервер обработает два запроса вместо одного. Это нормально, если это запрос GET, но что, если это запрос POST или PUT? Модель данных сервера может неожиданно измениться.

Является ли JQuery Timeout правильным способом обработки? Возможно, способ предотвратить это должен быть на сервере и выделение идентификатора каждого запроса и обеспечение того, чтобы сервер не обрабатывал один и тот же идентификатор более одного раза ...

Есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...