That's a path (storing variables for later use) that I started
venturing down when I became aware of global js variables.  I thought,
now that's a lot simpler than having to make sure that some record
ID is always passed between one function and another.

But alas, my goal was to try to use global js variables much like I
may use a session variables.  id="<cfoutput>#session.story_id#</cfoutput>"
and I wanted to find a nice, tidy way to reuse global js variables like,
id="<script>gStoryID</script>" or something that would allow me to
just stick js variables where even I needed them.  But I was told that
even global js variables would need to be inserted into the DOM.  Since
that's the case, I might as well go ahead and either use session variables
or just pass the variables on and write less js code.



-----Original Message-----
From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On
Behalf Of Eric Garside
Sent: Thursday, April 09, 2009 10:38 PM
To: jQuery (English)
Subject: [jQuery] Re: Get var out of ajax scope


I assume the idea was to store the variable for later use, not how to
trigger a callback.

There's a number of situations I use fairly often which need me to
store a variable in an accessible place, but not utilize it until
later.

On Apr 9, 10:19 pm, "Michael Geary" <m...@mg.to> wrote:
> That's perfect, Rick, it's exactly the way I would have coded it.
>
> Hang in there on this client-side stuff! It will all continue to become
more
> clear as you work with it.
>
> I have some sympathy for what you're going through with it. As more of a
> front-end guy, it happens to me every time I tackle back-end stuff like
> databases. Help me! Databases! Why can't it be something simple like
> closures and asynchronous Ajax calls? ;-)
>
> -Mike
>
> > From: Rick Faircloth
>
> > Here's a method that I'm using to pass data from an ajax
> > response to another function:  (I'm starting with the
> > success: section of an ajax call)
>
> > success:   function(response) {
> >               if    ( response.MESSAGE == 'Success' )
> >                     { populateStoryTable(response); }
>
> >               else  { alert(Rats!  No good!);       }
>
> > That makes all of the data sent back in "response"
> > available to reference in the function "populateStoryTable".
>
> > It's transferred to the populateStoryTable function by using
>
> > populateStoryTable(response) {
>
> >    ...whatever code I want to run...
>
> > That's just a way to directly link the functions with the
> > data they need.
>
> > Michael, this is the method you're referring to which calls
> > the next function that's needed when the data is ready.
>
> > I've used this method of putting variables inside the ()
> > after a function call to pass data all around.
>
> > If I do an inline function call, I can use "myFunction(story_id)"
> > to pass a story_id to the "myFunction" function.
>
> > I'm just learning about this stuff, really, so I'm sharing
> > how I'm managing to make some of the jQuery and especially
> > ajax stuff work.
>
> > I've been working for a month trying to get an ajax app
> > finished that I could have completed in a day with standard
> > "page-to-page"
> > processing, passing variables through url's and session, but
> > I'm bound and determined to make this work.  I keep writing
> > and re-writing the app as I learn more.
>
> > -----Original Message-----
> > From: jquery-en@googlegroups.com
> > [mailto:jquery...@googlegroups.com] On
> > Behalf Of Michael Geary
> > Sent: Thursday, April 09, 2009 8:20 PM
> > To: jquery-en@googlegroups.com
> > Subject: [jQuery] Re: Get var out of ajax scope
>
> > There's something missing in each of these solutions.
>
> > What about the code that will use this variable: How does
> > that code know
> > when the variable is ready to use?
>
> > That code could check to see if the variable is null, but
> > what does it do
> > then? Try again later? How much later?
>
> > What's more likely to be needed is that the complete()
> > function *calls* that
> > other code as a function. Then you know the data is
> > available, and you can
> > pass the data value directly to that function as an argument.
>
> > You can still put the data in a global variable, but there
> > may not be any
> > need to do that since you have to make a function call anyway.
>
> > -Mike
>
> > > -----Original Message-----
> > > From: jquery-en@googlegroups.com
> > > [mailto:jquery...@googlegroups.com] On Behalf Of Eric Garside
> > > Sent: Thursday, April 09, 2009 4:34 PM
> > > To: jQuery (English)
> > > Subject: [jQuery] Re: Get var out of ajax scope
>
> > > Well, you've got two basic options. You can do a
> > > straightforward global variable like Hector suggested, or you
> > > can create and use a custom storage object in the jQuery
> > > namespace. Try adding to your
> > > code:
>
> > > $.__customStorage = {};
>
> > > $.get({
> > >   url: 'some.page.php',
> > >   complete: function(data){
> > >      $.__customStorage.ajaxResponse = data;
> > >   }
> > > });
>
> > > On Apr 9, 6:47 pm, Hector Virgen <djvir...@gmail.com> wrote:
> > > > Something like this might work:
> > > > var ajaxResponse;
>
> > > > $.ajax({
> > > >     url: 'ajax.php',
> > > >     complete: function(response) {
> > > >         ajaxResponse = response;
> > > >     }
>
> > > > });
>
> > > > -Hector
>
> > > > On Thu, Apr 9, 2009 at 3:44 PM, Nic Hubbard
> > > <nnhubb...@gmail.com> wrote:
>
> > > > > I have an $.ajax() call that I am using to GET some text
> > > from a page
> > > > > on my site.  I have put it in a variable with the success
> > > function.
> > > > > How can I move that var up and out of the $.ajax function
> > > so I can
> > > > > use it in other parts of my script?
>
> > > > > Thanks.

Reply via email to