FWIW, I would not send HTML back to the client in an AJAX request - that
style of AJAX fell out of favor years ago.
Send back JSON instead and keep the view logic client-side. Consider using
a library such as knockout.js. Instead of your current (difficult to
maintain) mix of PhP and client-side JavaScript, you'll end up with a
static HTML page, a couple of clean JSON services (for checked-out per
subject, and one for the syndetics ids of the first 4 covers), and clean
HTML templates.
You had earlier asked the question whether to do things client or server
side - well in this example, the correct answer is to do it client-side.
(Yours is a read-only application, where none of the advantages of
server-side processing applies.)
- Godmar
On Mon, Dec 5, 2011 at 6:18 PM, Nate Hill <[log in to unmask]> wrote:
> Something quite like that, my friend!
> Cheers
> N
>
> On Mon, Dec 5, 2011 at 3:10 PM, Walker, David <[log in to unmask]>
> wrote:
>
> > I gotcha. More information is, indeed, better. ;-)
> >
> > So, on the PHP side, you just need to grab the term from the query
> > string, like this:
> >
> > $searchterm = $_GET['query'];
> >
> > And then in your JavaScript code, you'll send an AJAX request, like:
> >
> > http://www.natehill.net/vizstuff/catscrape.php?query=Cooking
> >
> > Is that what you're looking for?
> >
> > --Dave
> >
> > -----------------
> > David Walker
> > Library Web Services Manager
> > California State University
> >
> >
> > -----Original Message-----
> > From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
> > Nate Hill
> > Sent: Monday, December 05, 2011 3:00 PM
> > To: [log in to unmask]
> > Subject: Re: [CODE4LIB] jQuery Ajax request to update a PHP variable
> >
> > As always, I provided too little information. Dave, it's much more
> > involved than that....
> >
> > I'm trying to make a kind of visual browser of popular materials from one
> > of our branches from a .csv file.
> >
> > In order to display book covers for a series of searches by keyword, I
> > query the catalog, scrape out only the syndetics images, and then
> display 4
> > of them. The problem is that I've hardcoded in a search for 'Drawing',
> > rather than dynamically pulling the correct term and putting it into the
> > catalog query.
> >
> > Here's the work in process, and I believe it will only work in Chrome
> > right now.
> > http://www.natehill.net/vizstuff/donerightclasses.php
> >
> > I may have a solution, Jason's idea got me part way there. I looked all
> > over the place for that little snippet he sent over!
> >
> > Thanks!
> >
> >
> >
> > On Mon, Dec 5, 2011 at 2:44 PM, Walker, David <[log in to unmask]>
> > wrote:
> >
> > > > And I want to update 'Drawing' to be 'Cooking' w/ a jQuery hover
> > > > effect on the client side then I need to make an Ajax request,
> correct?
> > >
> > > What you probably want to do here, Nate, is simply output the PHP
> > > variable in your HTML response, like this:
> > >
> > > <h1 id="foo"><?php echo $searchterm ?></h1>
> > >
> > > And then in your JavaScript code, you can manipulate the text through
> > > the DOM like this:
> > >
> > > $('#foo').html('Cooking');
> > >
> > > --Dave
> > >
> > > -----------------
> > > David Walker
> > > Library Web Services Manager
> > > California State University
> > >
> > >
> > > -----Original Message-----
> > > From: Code for Libraries [mailto:[log in to unmask]] On Behalf
> > > Of Nate Hill
> > > Sent: Monday, December 05, 2011 2:09 PM
> > > To: [log in to unmask]
> > > Subject: [CODE4LIB] jQuery Ajax request to update a PHP variable
> > >
> > > If I have in my PHP script a variable...
> > >
> > > $searchterm = 'Drawing';
> > >
> > > And I want to update 'Drawing' to be 'Cooking' w/ a jQuery hover
> > > effect on the client side then I need to make an Ajax request, correct?
> > > What I can't figure out is what that is supposed to look like...
> > > something like...
> > >
> > > $.ajax({
> > > type: "POST",
> > > url: "myfile.php",
> > > data: "...not sure how to write what goes here to make it
> 'Cooking'..."
> > > });
> > >
> > > Any ideas?
> > >
> > >
> > > --
> > > Nate Hill
> > > [log in to unmask]
> > > http://www.natehill.net
> > >
> >
> >
> >
> > --
> > Nate Hill
> > [log in to unmask]
> > http://www.natehill.net
> >
>
>
>
> --
> Nate Hill
> [log in to unmask]
> http://www.natehill.net
>
|