JSON DataSource in Applet
Вложений: 1
На страницу приходит json около 20000 записей. И нужна была сортировка и поиск в этом монстре (запрос к базе огромный, сервер старый MSSQL7.0 и база не моя).
В общем у меня возникла идея создать простой апплет в котором можно манипулировать данными и доставать от туда нужные куски. //помещаем json в апплет myApplet.putdata( "aaa", '[{ id:"1", name:"vasia" },{ id:"1", name:"petia" }]', "backFunction()"); //или просто через ссылку //правда почему-то не работает на Safari myApplet.putfromurl( "aaa", "http://.................../data.php", "backFunction()"); //и затем достаем командой exec //функция возвращает джсон ввиде текста myApplet.exec("{ 'select':{table: 'aaa',limit: 300, where:{'col':'name', val:'vasia'}, orderby: {'col':'name', desc:'true'} }}", "backFunction()"); //функция вызывается после выполненния function backFunction(){alert("Ok")} и маленький примерчик в index.html позже, если кому интересно, могу описать все, что умеет этот апплет. |
А зачем аплет то? Можно же на JS сделать тоже самое и будет работать оч шустро. К слову я уже давно пишу похожий велосипед на JS: http://collection-js.com (можешь глянуть если интересно).
|
Цитата:
|
а нафига 20000 на клиент приходят
почему нефильтруются ещё на сервере даже если сервер не ваш то почему тогда ваш сервер не считывает инфу с не вашего сервера, не кеширует, и не фильтрует. В корпоративных приложениях я просто подгружаю данные пакетом по 20-40 записей по мере надобности, вся фильтрация, сортировка, группировка происходит на сервере. Вы конечно молодец что сделали такое решение. Но я не понимаю нафига оно нужно, и как вы создали такую ситуацию при которой вам приходится гонять туда-сюда, такие обьёмы данных. |
Для современных браузеров 20к не проблема, я сейчас тружусь над 3.9 версией своего велосипеда провожу различные замеры, в общем в среднем нормально можно работать без ключей и разведения по потокам где то до 5-ти миллионов записей, так что 20к ерунда.
|
может и фигня.
но считывать 300 000 записей и передавать их на клиент только для того чтобы какая-то бабушка нашла в архиве одну запись 2х летней давности, я небуду. всё проще, в гриде отобразится 1я сотня, затем юзер вобьёт данные в строку поиск, с сервера придёт одна запись. ENJOY 101 запись меньше чем, 20 000 , 300 000, и тем более 5 миллионов. непонимаю нафига серверную логику на клиент тянуть. |
Цитата:
|
Я понимаю, это изврат 20000 записей, но бывает, что с чужими серверами не охота иметь дело.
Просто на прошлой неделе натолкнулся на обсуждение вашего велосипеда collection-js и захотелось показать свой джсон костыль (так и назвал JsonDbCrutch-костыль) В принципе нененужная вещь но всеже жалко выбрасывать, может кому пригодится. |
понял
Тогда всё пучком :) |
Часовой пояс GMT +3, время: 01:48. |