AHAH! On Mon, Dec 5, 2011 at 3:45 PM, Jonathan Rochkind <[log in to unmask]> wrote: > I still like sending HTML back from my server. I guess I never got the > message that that was out of style, heh. > > My server application already has logic for creating HTML from templates, > and quite possibly already creates this exact same piece of HTML in some > other place, possibly for use with non-AJAX fallbacks, or some other context > where that snippet of HTML needs to be rendered. I prefer to re-use this > logic that's already on the server, rather than have a duplicate HTML > generating/templating system in the javascript too. It's working fine for > me, in my use patterns. > > Now, certainly, if you could eliminate any PHP generation of HTML at all, as > I think Godmar is suggesting, and basically have a pure Javascript app -- > that would be another approach that avoids duplication of HTML generating > logic in both JS and PHP. That sounds fine too. But I'm still writing apps > that degrade if you have no JS (including for web spiders that have no JS, > for instance), and have nice REST-ish URLs, etc. If that's not a > requirement and you can go all JS, then sure. But I wouldn't say that > making apps that use progressive enhancement with regard to JS and degrade > fine if you don't have is "out of style", or if it is, it ought not to be! > > Jonathan > > > On 12/5/2011 6:31 PM, Godmar Back wrote: >> >> 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 >>> > -- Cary Gordon The Cherry Hill Company http://chillco.com