Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2017, 15:53
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Проверка ajax наличие файла
Здравствуйте! Подскажите, пожалуйста. Для примера, вот так я хочу, чтобы пользователи через аякс узнавали о наличии файла на сервере (alert для примера):
$.ajax("http://site.ru", {
    success: function() {
        alert("Файл существует");
    };
    error: function() {
        alert("Файл не существует");
    };
});

Вызов должен происходить каждые 5 секунд, не будет ли это нагружать сервер, если количество посетителей больше 5 тыс.

Последний раз редактировалось Sonya, 24.10.2017 в 15:56.
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2017, 16:01
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Да, и о коде, может лучше сделать так?
$.ajax("http://site.ru", {
    success: function() {
        alert("Файл существует");
    },
    error: function() {
        alert("Файл не существует");
    },
   method: "HEAD"
});
Ответить с цитированием
  #3 (permalink)  
Старый 24.10.2017, 18:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Криво синтаксически метод написан. И в чем же заключается проверка существования файла?
Ответить с цитированием
  #4 (permalink)  
Старый 24.10.2017, 19:45
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Сообщение от laimas Посмотреть сообщение
Криво синтаксически метод написан.
А как не криво будет?
Сообщение от laimas Посмотреть сообщение
И в чем же заключается проверка существования файла?
В ответе сервера. Есть успешно значит выведет "success", если нет, то ошибка "error".
Ответить с цитированием
  #5 (permalink)  
Старый 24.10.2017, 20:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sonya
А как не криво будет?
http://api.jquery.com/jquery.ajax/

Сообщение от Sonya
В ответе сервера.
А обращение к индексному файлу домена "http://site.ru" как-то определяет наличие неких файлов на нем?
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2017, 20:40
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Сообщение от laimas Посмотреть сообщение
А обращение к индексному файлу домена "http://site.ru" как-то определяет наличие неких файлов на нем?
Пусть будет "http://site.ru/api", у меня вопрос, будут ли запросы перегружать сервер, и какой из двух приведенных кодов, оптимальнее.

Последний раз редактировалось Sonya, 24.10.2017 в 20:48.
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2017, 21:02
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Вряд ли одновременно ваш сайт будет запрашивать все 5000 ваших пользователей. А что касается оптимальности, то разницы между двумя приведенными нет никакой, если вам просто отправить запрос. HEAD метод тоже самое, что и GET, но не будет тела ответа, а заголовки вы не анализируете. Поэтому, вы проверьте свой код в реалии и посмотрите что при этом получите. Это и будет ответом решает ли это вашу задачу. Довольно таки странная проверка.
Ответить с цитированием
  #8 (permalink)  
Старый 24.10.2017, 21:10
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Скрипт проверенный, работает, что же касается запросов, то их может быть и больше, именно поэтому и интересуюсь нагрузкой на сервер.
Ответить с цитированием
  #9 (permalink)  
Старый 24.10.2017, 21:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sonya
Скрипт проверенный, работает
Уверены, что отвечает задаче? Вы не учитываете того, что ошибка запроса генерируемая Ajax еще не означает, что файла нет. Однозначно на это может дать только статус ответа - 404, остальное только ваши предположения.

Чтобы завалить ваш сервер нужно одновременно подать на него массу запросов, которые он не cможет обработать, с вашими пользователями через каждые 5 секунд, этого слишком мало.

Не знаю чего вы делаете, но может быть как то иначе это решать.
Ответить с цитированием
  #10 (permalink)  
Старый 24.10.2017, 21:32
Профессор
Отправить личное сообщение для Sonya Посмотреть профиль Найти все сообщения от Sonya
 
Регистрация: 07.07.2016
Сообщений: 281

Сообщение от laimas Посмотреть сообщение
Однозначно на это может дать только статус ответа - 404, остальное только ваши предположения.
Вы абсолютно правы, именно поэтому при отсутствие файла, у меня выдается ошибка 404. Спасибо Вам за ответ.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка файла на email при помощи Ajax vah-smile AJAX и COMET 6 19.11.2016 16:41
Проверка на наличие переменной vuler Общие вопросы Javascript 26 11.08.2015 22:22
Проверка на наличие файла IIITbIK Общие вопросы Javascript 1 30.07.2013 15:34
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
проверка результата ajax yura-666-yura AJAX и COMET 3 15.06.2012 03:28