Showing posts with label JsonBridge. Show all posts
Showing posts with label JsonBridge. Show all posts

Thursday, December 27, 2012

Jquery - кеширане на данни


Jquery  - кеширане на данни


Проблем

Скоро ми се наложи да се замисля над един проблем в един мой сайт, където при определена ситуация правя заявка към сървъра и пълня DropDown с потребители и това всеки път, когато се върна към началната страница DropDown се рендира на ново.

Всичко това води до забавяне на цялата система, и води до негативни отзиви от страна на потребителя.

За целта реших да оптимизирам функционалността.
Системата ползва CouchDB База данни (NoSql) + Jquery и .net Service.
html5, css3 или по точно SPA(Single Page Application)

Решение на проблема


Интересното тук е, че се сетих да ползвам Cookies или local storage и в тях да пазя информацията за потребителя
(UserID, UserName), като само в началото при Login се инициализира всичко от сървъра и се складира в Cookies0, като Array от обекти представени в JSON формат.

Source Code



Ако има нещо неясно пишете ми надявам се да съм бил полезен.
Поздрави Мехмедов!

Saturday, August 18, 2012

Sample project with WDK.API.CouchDb


Sample project with WDK.API.CouchDb

Здравейте приятели отново продължаваме с CouchDB само, че сега ще ви представя едно ново 
решение с което много лесно и бързо се правят динамични приложение.
Представям ви една библиотека WDK.API.CouchDb и JsonBridge.js
Ето и кода на JsonBridge.js


var JsonBridge = {
   useAuthorization: false,
   authorizationHandler: function (username, password) {
    return "";
   },

   url: '/jsonbridge/',
   execute: function (classpath, method, params, resultHandler, faultHandler) {
    var url = JsonBridge.url + classpath + '/';
    if (method != null && method != '')
     url += method;

    if (params != null) {
     $.ajax({
      url: url,
      beforeSend: function (xhr) {
       if (JsonBridge.useAuthorization) {
        xhr.setRequestHeader("Authorization", JsonBridge.authorizationHandler);
       }
      },
      contentType: 'application/json',
      data: JSON.stringify(params),
      dataType: 'json',
      type: "POST",
      success: resultHandler,
      error: faultHandler
     });
    }
    else {
     $.ajax({
      url: url,
      beforeSend: function (xhr) {
       if (JsonBridge.useAuthorization) {
        xhr.setRequestHeader("Authorization", JsonBridge.authorizationHandler);
       }
      },
      contentType: 'application/json',
      dataType: 'json',
      processData: false,
      type: "GET",
      success: resultHandler,
      error: faultHandler
     });
    }
   }
  };

за да създадете документ в CouchDB имаме следния код:



JsonBridge.execute('WDK.API.CouchDb', 'createDocument', ['users', 'hello'], function (data) {
  // you code is here
});

сега нека разгледаме параметрите на JsonBridge.execute:

WDK.API.CouchDb ви е библиотеката WDK.API.CouchDb.dll

createDocument ви е метод от тази библиотека 

['users', 'hello'] - параметри за метода createDocument където 
users е базата данни 'hello' е новото поле за вашия документ.

за повече информация 
http://jsonbridge.com/

Поздрави Мехмедов