Междоменные запросы с использованием JQuery - PullRequest
1 голос
/ 01 сентября 2010

Это дополнительный вопрос к одному здесь

Вот кратко то, что я пытаюсь сделать.Файловый сервер создает текстовый файл, чтобы указать конец процесса.На веб-странице на веб-сервере я зацикливаюсь каждые x секунд и делаю ajax-запрос, чтобы узнать, существует ли тестовый файл (ajax-запрос к http://fileserver/files/UserFile.txt)

.

  • Запустите веб-метод со стороны клиента, который создает объект HttpContext, чтобы проверить, существует ли текстовый файл.Но это слишком тяжело для сервера, и я начал получать всевозможные исключения в средстве просмотра событий.
  • YQL прекрасно работает, но, к сожалению, он слишком медленный.Пользователь ждет, по крайней мере, вдвое больше времени.

Я ищу решение, не затрагивающее серверную часть.Почему-то я хотел бы использовать JQuery для проверки существования текстового файла на файловом сервере.

Есть мысли?

Ответы [ 3 ]

1 голос
/ 01 сентября 2010

Вы должны иметь возможность использовать JSONP и JQuery.ajax () для выполнения междоменного запроса. Играйте с атрибутами jsonp и jsonpCallback. Также вы можете использовать JQuery.getJSON () .

0 голосов
/ 01 сентября 2010

Я могу быть в нескольких милях от базы, но ... не могли бы вы создать ОДИН асинхронный (!) Запрос клиента Ajax с тайм-аутом HUMONGOUS.Запустите его и подождите.Вы бы вызывали какой-нибудь серверный скрипт, который время от времени проверяет в цикле на сервере (используя промежуточный режим сна), существует ли файл.И не отвечает на запрос Ajax, пока файл наконец не появится.Затем серверный сценарий отвечает и завершает работу.

РЕДАКТИРОВАТЬ: В зависимости от используемой серверной среды сценариев, вы можете даже получить некоторую поддержку ОС.Вы можете спать при изменении состояния в каталоге ...

0 голосов
/ 01 сентября 2010

Обслуживание одного файла из файловой системы - это самая простая операция, которую может выполнить веб-сервер.Если это уже слишком много, то все остальные решения будут хуже.Узнайте, почему серверу требуется так много времени для обслуживания простого файла, и исправьте это.

Примечание. Я предполагаю, что файл имеет небольшой размер, поскольку вы говорите "тестовый файл".Если это большой файл, сервер на самом деле отправит его клиенту, которому потребуется много ресурсов.

Вы можете попробовать добавить страницу ASP на веб-сайт, который запускает код на сервере, которыйпроверяет, есть ли файл, и просто возвращает крошечный фрагмент HTML, который вы можете добавить на страницу с помощью jQuery.load().

...