Do you have a live version I can look at?

On 9/25/07, Potluri <[EMAIL PROTECTED]> wrote:
>
>
>
> I very much understood what you said and tried it. but I'm getting null
> value
> from cookie
> var tempRows = new Array();
>     tempRows.push({name:"vj",rollNo:10});
>     tempRows.push({name:"vj",rollNo:10});
>   var v = objectToQueryString(tempRows,"&");
> alert(v); // which prints
> _name##"vj"**rollNo##10&........&each=function%20........
> but when I set the cookie to $.cookie('myCookie', v);
> and later when I tried to retrieve cookie like alert($.cookie('myCookie'))
> prints the null value.
> Not sure why this is happening.. Can u tell me why this happening.
> Regards,
> Vijay
>
>
>
> bmsterling wrote:
> >
> > I have a variable $sitedata, an object, that is structured like:
> >
> > {
> >     'fname':null,
> >     'lname':null,
> >         moduleLevel: {
> >         bPassed: null,
> >         bContentComplete: null,
> >         iNumAttempts: null,
> >         dDateStart: month + "/" + day + "/" + year,//"6/25/2007",
> >         dDateEnd: null,
> >         sTestTaken: null,
> >         sTestPassed: null,
> >         sPageViewed: null
> >     },
> >     lessonLevel:{
> >         _0_0:{
> >             iLessonRef: 0,
> >             iTopicRef: 0,
> >             bIsDone: 0,
> >             sInlineQuiz: '0',
> >             sPageRef: 0
> >         }
> >     }
> > }
> >
> >
> >
> > Now, to get the object into a cookie we need to convert it to a
> > querysting,
> > like:
> >
> > objectToQueryString($sitedata,"&")
> >
> > which will return something like:
> >
> > fname=benjamin&lname=sterling etc....
> >
> > If used like below:
> >
> > $.cookie('myCookie', objectToQueryString(myObject,"&"));
> >
> > Now our cookie is set, now we want to grab it again:
> >
> > var tempSiteData = $.cookie('myCookie');
> >
> > now we turn our querysting (fname=benjamin&lname=sterling)
> >
> > myObject = queryStringToObject(tempSiteData);
> >
> > into:
> >
> > {
> > fname :'benjamin',
> > lname :'sterling',
> > etc...
> > }
> >
> > Let me know if you understand.
> >
> > On 9/25/07, Potluri <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >>
> >> Thanks for your great help. But I'm finding hard to know the exact
> syntax
> >> of
> >> how to use these functions. Can you tell me exact syntax of  how to use
> >> these functions objectToQueryString and  the function
> queryStringToObject
> >> given the array name "arrObject" which contains array of objects.
> >>
> >> Waiting for your response.
> >> Thanks in advance.
> >> Regards,
> >> Vijay Potluri
> >>
> >>
> >> bmsterling wrote:
> >> >
> >> > You can't store an Object/Array into a cookie, you will get the
> result
> >> you
> >> > are currently seeing.  The code I provided with convert your object
> >> into
> >> a
> >> > querystring, which can be stored, and stores that and when you want
> to
> >> > retrieve it, you pass the returned cookie value to the other function
> >> and
> >> > it
> >> > changes it back to an Object/Array.
> >> >
> >> > On 9/25/07, Potluri <[EMAIL PROTECTED]> wrote:
> >> >>
> >> >>
> >> >>
> >> >> Sorry I didn't understand what you are trying to say. How this
> solves
> >> my
> >> >> problem of storing array of objects into the cookie. Can you try on
> >> your
> >> >> side of storing array of objects into cookie, so that later when I
> try
> >> to
> >> >> to
> >> >> retrive value from cookie I need to get array of objects but not
> >> string
> >> >> which is what happening right now.
> >> >>
> >> >> Thanks in advance.
> >> >>
> >> >> bmsterling wrote:
> >> >> >
> >> >> > Vij,
> >> >> > I am actually using the following functions in an app that uses
> the
> >> >> cookie
> >> >> > plugin:
> >> >> >
> >> >> > /**
> >> >> >  * @name     sterilizeQueryString
> >> >> >  * @type     function
> >> >> >  * @param     {String} input
> >> >> >  * @desc     Turns a query string into an object
> >> >> >  * @return     Object b
> >> >> >  */
> >> >> > sterilizeQueryString = function(input,splitter,pair){
> >> >> >     try{
> >> >> >         if(typeof input != 'string') return null;
> >> >> >         if(!splitter){
> >> >> >             splitter = "&";
> >> >> >         }
> >> >> >         if(!pair) pair ="=";
> >> >> >         var a = input.split(splitter), b = Array();
> >> >> >         for(var i=0; i < a.length; i++)    a[i] =
> a[i].split(pair);
> >> >> >
> >> >> >         for(var i = 0; i < a.length; i++) b[a[i][0]] = a[i][1];
> >> >> >
> >> >> >         return b;
> >> >> >     }
> >> >> >     catch(e){
> >> >> >         $.iLogger.log(e.name + ': ' + e.message, 'error',
> >> >> > 'sterilizeQueryString();');
> >> >> >     };
> >> >> > };
> >> >> >
> >> >> > objectToQueryString = function( a , joiner, pair) {
> >> >> >     try{
> >> >> >         var s = [];
> >> >> >         if(!pair) pair ="=";
> >> >> >         if((typeof a == "object")){
> >> >> >             for(var j in a){
> >> >> >                 if(typeof a[j] == "object" && a[j]){
> >> >> >                     s.push(encodeURIComponent(j) + pair + "__" +
> >> >> > objectToQueryString(a[j],"**","##") +"__");
> >> >> >                 }
> >> >> >                 else{
> >> >> >                     s.push( encodeURIComponent(j) + pair +
> >> >> > encodeURIComponent( a[j] ) );
> >> >> >                 }
> >> >> >             };
> >> >> >             return s.join(joiner);
> >> >> >         }
> >> >> >         else{
> >> >> >             return a;
> >> >> >         };
> >> >> >     }
> >> >> >     catch(e){
> >> >> >         $.iLogger.log(e.name + ': ' + e.message, 'error',
> >> >> > 'objectToQueryString();');
> >> >> >     };
> >> >> > };
> >> >> >
> >> >> > queryStringToObject = function(s){
> >> >> >     try{
> >> >> >         if(s && typeof s == "string"){
> >> >> >             s = sterilizeQueryString(s);
> >> >> >             for(var j in s){
> >> >> >                 if(/__(.*)__/.test(s[j])){
> >> >> >                     s[j] = s[j].replace(/__/g,"");
> >> >> >                     s[j] = sterilizeQueryString(s[j],"**","##")
> >> >> >                 };
> >> >> >             };
> >> >> >             return s;
> >> >> >         }
> >> >> >         else{
> >> >> >             return s;
> >> >> >         };
> >> >> >     }
> >> >> >     catch(e){
> >> >> >         $.iLogger.log(e.name + ': ' + e.message, 'error',
> >> >> > 'queryStringToObject();');
> >> >> >     };
> >> >> > }
> >> >> >
> >> >> >
> >> >> > This is the function that is using the previous functions:
> >> >> >
> >> >> > //  if $use is set to cookie, this variable will be used for the
> >> cookie
> >> >> > name
> >> >> > var $cookieName = 'dummyData';
> >> >> >
> >> >> > //  if $use is set to cookie, this variable will be used for the
> >> cookie
> >> >> > params
> >> >> > var $cookieParams = {expires: 7};
> >> >> > /**
> >> >> >  * @name getSetCookies
> >> >> >  * @example getSetCookies();
> >> >> >  * @param {Boolean} getOnly
> >> >> >  * @desc Purpose of this function is to set and get cookie data
> >> >> >  * @see objectToQueryString
> >> >> >  * @see queryStringToObject
> >> >> >  */
> >> >> > getSetCookies = function(getOnly){
> >> >> >     $.iLogger.log('getSetCookies();');
> >> >> >     try{
> >> >> >         //
> >> >> >         if(getOnly){
> >> >> >             var tempSiteData = $.cookie($cookieName);
> >> >> >             if(tempSiteData){
> >> >> >                 $sitedata = queryStringToObject(tempSiteData);
> >> >> >             }
> >> >> >             else{
> >> >> >                 $.cookie($cookieName,
> >> >> objectToQueryString($sitedata,"&"),
> >> >> > $cookieParams);
> >> >> >             }
> >> >> >         }
> >> >> >         else{
> >> >> >             $.cookie($cookieName,
> >> objectToQueryString($sitedata,"&"),
> >> >> > $cookieParams);
> >> >> >         };
> >> >> >     }
> >> >> >     catch(e){
> >> >> >         $.iLogger.log(e.name + ': ' + e.message, 'error',
> >> >> > 'getSetCookies();');
> >> >> >     };
> >> >> > }; // end : getSetCookies
> >> >> >
> >> >> > Don't have time to explain it right now (wanted to at least answer
> >> >> you),
> >> >> > but
> >> >> > if you have questions, I can answer them later on today.
> >> >> >
> >> >> > Ben
> >> >> >
> >> >> > On 9/25/07, Potluri <[EMAIL PROTECTED]> wrote:
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> I don't see this is a problem with cookie plugin in particular
> but
> >> >> this
> >> >> >> is
> >> >> >> problem with cookie itself.
> >> >> >>
> >> >> >> Suppose this is the array
> >> >> >> var arr = [];
> >> >> >> arr.push({name:"vj",rollNo:10});
> >> >> >> arr.push({name:"kr",rollNo:15});
> >> >> >>
> >> >> >> The size of arr is 2 before storing in cookie
> >> >> >>
> >> >> >> I tried to store this array object in a cookie as
> >> >> $.cookie("cookieName",
> >> >> >> arr), and then later when I tried to  access the length of array
> >> with
> >> >> >> cookie
> >> >> >> as var tempArr= $.cookie("cookieName")--which should give array
> >> object
> >> >> >> named
> >> >> >> "arr".
> >> >> >>
> >> >> >> and then I tried to alert length of array as alert(tempArr.length
> );
> >> I
> >> >> was
> >> >> >> expecting size of array to be 2 but surprisingly its returning
> 31.
> >> I
> >> >> >> printed
> >> >> >> the value of tempArr like alert("arr="+ tempArr+"
> >> >> len="+tempArr.length).
> >> >> >>
> >> >> >> it prints arr=[object Object],[object Object]  len=31.
> >> >> >> When you calculate the each character of [object Object],[object
> >> >> Object]
> >> >> >> it
> >> >> >> returns 31.
> >> >> >>
> >> >> >> Can any one of you come up with quick solution of how to store
> >> array
> >> >> of
> >> >> >> array objects in a cookie.
> >> >> >>
> >> >> >> It'll be greatful.
> >> >> >>
> >> >> >> Regards,
> >> >> >> Vijay
> >> >> >> --
> >> >> >> View this message in context:
> >> >> >>
> >> >>
> >>
> http://www.nabble.com/problem-with-cookie-plugin-when-trying-to-store-array-object-in-cookie-tf4516799s15494.html#a12883618
> >> >> >> Sent from the JQuery mailing list archive at Nabble.com.
> >> >> >>
> >> >> >>
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Benjamin Sterling
> >> >> > http://www.KenzoMedia.com
> >> >> > http://www.KenzoHosting.com
> >> >> >
> >> >> >
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://www.nabble.com/problem-with-cookie-plugin-when-trying-to-store-array-object-in-cookie-tf4516799s15494.html#a12885387
> >> >> Sent from the JQuery mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >> > --
> >> > Benjamin Sterling
> >> > http://www.KenzoMedia.com
> >> > http://www.KenzoHosting.com
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/problem-with-cookie-plugin-when-trying-to-store-array-object-in-cookie-tf4516799s15494.html#a12887225
> >> Sent from the JQuery mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > Benjamin Sterling
> > http://www.KenzoMedia.com
> > http://www.KenzoHosting.com
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/problem-with-cookie-plugin-when-trying-to-store-array-object-in-cookie-tf4516799s15494.html#a12890576
> Sent from the JQuery mailing list archive at Nabble.com.
>
>


-- 
Benjamin Sterling
http://www.KenzoMedia.com
http://www.KenzoHosting.com

Reply via email to