[jQuery] Как в одном соединении получить несколько json объектов?

Тема в разделе "JavaScript", создана пользователем dandandan, 20 апр 2012.

Модераторы: ZiX
  1. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    991
    Симпатии:
    267
    Можно ли в jQuery получить несколько json ответов? Т.е. делаю с помощью jquery json запрос. С помощью php скрипта отдаю один джсон ответ, потом второй через несколько секунд, третий и т.д... Это все должно делаться в рамках одного http:// соединения.
     
  2. kos1986

    kos1986 Постоялец

    Регистр.:
    29 окт 2007
    Сообщения:
    118
    Симпатии:
    61
    comet-приложение один из вариантов делать. есть плагины для jquery для работы по comet-схеме.
     
    dandandan, recasher2k12 и latteo нравится это.
  3. recasher2k12

    recasher2k12

    Регистр.:
    19 фев 2012
    Сообщения:
    156
    Симпатии:
    78
    Если нужно для backend, можно использовать WebSocket`ы
    Код:
    var socket = new WebSocket("ws://myserver.com:8081/");
    socket.onopen = function () {
      console.log("Соединение открылось");
    };
    socket.onclose = function () {
      console.log ("Соединение закрылось");
    };
    socket.onmessage = function (event) {
      console.log ("Пришло сообщение с содержанием:", event.data);
    };
     
    // Отправка сообщения серверу
    socket.send("message");
    
     
    dandandan нравится это.
  4. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    991
    Симпатии:
    267
    Погуглил. Все плагины в альфа версии. Страшно такие на рабочий проект ставить.

    WebSocket`ы - интересно. Если не найду что-нибудь для jQuery.getJSON, буду копать сторону сокетов.

    p.s. у меня отправляются данные на один скрипт. Иногда скрипт обрабатывает данные очень долго. Чтобы пользователи не начинали нервничать, хочу от скрипта слать сообщения, что все идет нормально. К сожалению обращаться к серверу по таймеру - не вариант, т.к. сообщения для пользователя нужно сохранять и получать из базы. Зачем лишняя нагрузка на базу.
     
  5. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.517
    Симпатии:
    1.365
    Базу можно и в оперативке создать - нагрузка на диск снизится, а для процессора и вовсе незаметно будет выдернуть запрос из базы и передать клиенту.
     
  6. recasher2k12

    recasher2k12

    Регистр.:
    19 фев 2012
    Сообщения:
    156
    Симпатии:
    78
    Если у тебя скрипт написан на PHP, обязательно выполняй его в отдельных процессах. В обсуждениях на офсайте PHP есть хороший пример работы с процессами:
    Перейти по ссылке
    Результаты процессов синхронизируй в БД или файлах. Сделай отдельный скриптик для мониторинга (ну, например, который будет выдавать выполненную работу в процентах) и вызывай его из браузера аяксом. Получится олдскульно кроссбраузерно и надежно!
     
    dandandan нравится это.
  7. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    Тут похожая тема https://www.nulled.cc/threads/226434/ скрипт результат процесса сохраняет в файл, а аякс читает его.