24.10.2017, 15:53
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Проверка ajax наличие файла
Здравствуйте! Подскажите, пожалуйста. Для примера, вот так я хочу, чтобы пользователи через аякс узнавали о наличии файла на сервере (alert для примера):
$.ajax("http://site.ru", {
success: function() {
alert("Файл существует");
};
error: function() {
alert("Файл не существует");
};
});
Вызов должен происходить каждые 5 секунд, не будет ли это нагружать сервер, если количество посетителей больше 5 тыс.
Последний раз редактировалось Sonya, 24.10.2017 в 15:56.
|
|
24.10.2017, 16:01
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Да, и о коде, может лучше сделать так?
$.ajax("http://site.ru", {
success: function() {
alert("Файл существует");
},
error: function() {
alert("Файл не существует");
},
method: "HEAD"
});
|
|
24.10.2017, 18:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Криво синтаксически метод написан. И в чем же заключается проверка существования файла?
|
|
24.10.2017, 19:45
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
Криво синтаксически метод написан.
|
А как не криво будет?
Сообщение от laimas
|
И в чем же заключается проверка существования файла?
|
В ответе сервера. Есть успешно значит выведет "success", если нет, то ошибка "error".
|
|
24.10.2017, 20:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Sonya
|
А как не криво будет?
|
http://api.jquery.com/jquery.ajax/
Сообщение от Sonya
|
В ответе сервера.
|
А обращение к индексному файлу домена "http://site.ru" как-то определяет наличие неких файлов на нем?
|
|
24.10.2017, 20:40
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
А обращение к индексному файлу домена "http://site.ru" как-то определяет наличие неких файлов на нем?
|
Пусть будет "http://site.ru/api", у меня вопрос, будут ли запросы перегружать сервер, и какой из двух приведенных кодов, оптимальнее.
Последний раз редактировалось Sonya, 24.10.2017 в 20:48.
|
|
24.10.2017, 21:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Вряд ли одновременно ваш сайт будет запрашивать все 5000 ваших пользователей. А что касается оптимальности, то разницы между двумя приведенными нет никакой, если вам просто отправить запрос. HEAD метод тоже самое, что и GET, но не будет тела ответа, а заголовки вы не анализируете. Поэтому, вы проверьте свой код в реалии и посмотрите что при этом получите. Это и будет ответом решает ли это вашу задачу. Довольно таки странная проверка.
|
|
24.10.2017, 21:10
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Скрипт проверенный, работает, что же касается запросов, то их может быть и больше, именно поэтому и интересуюсь нагрузкой на сервер.
|
|
24.10.2017, 21:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Sonya
|
Скрипт проверенный, работает
|
Уверены, что отвечает задаче? Вы не учитываете того, что ошибка запроса генерируемая Ajax еще не означает, что файла нет. Однозначно на это может дать только статус ответа - 404, остальное только ваши предположения.
Чтобы завалить ваш сервер нужно одновременно подать на него массу запросов, которые он не cможет обработать, с вашими пользователями через каждые 5 секунд, этого слишком мало.
Не знаю чего вы делаете, но может быть как то иначе это решать.
|
|
24.10.2017, 21:32
|
Профессор
|
|
Регистрация: 07.07.2016
Сообщений: 281
|
|
Сообщение от laimas
|
Однозначно на это может дать только статус ответа - 404, остальное только ваши предположения.
|
Вы абсолютно правы, именно поэтому при отсутствие файла, у меня выдается ошибка 404. Спасибо Вам за ответ.
|
|
|
|