I tried adding cache: false, to the ajax options, but it seemed
to have no effect.  Should it be "cache=false" or "cache:false".

Rick

> -----Original Message-----
> From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On 
> Behalf Of Josh Nathanson
> Sent: Friday, January 09, 2009 12:07 PM
> To: jquery-en@googlegroups.com
> Subject: [jQuery] Re: How to force processing of ColdFusion code when using 
> .load
> 
> 
> I believe this is exactly what jQuery does under the covers when you set
> cache=false.
> 
> -- Josh
> 
> -----Original Message-----
> From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On
> Behalf Of Shawn Grover
> Sent: Thursday, January 08, 2009 9:30 PM
> To: jquery-en@googlegroups.com
> Subject: [jQuery] Re: How to force processing of ColdFusion code when using
> .load
> 
> 
> I've seen this caching problem before as well.  I handle it by just
> adding a random number to the URL I'm requesting.
> 
> i.e.
> 
> $.ajax({
>    url: "mypage.cfm?r=" + Math.random(),
>    data: myData,
>    //. . .
> });
> 
> If you are doing a GET request, the random parameter can go into the
> Data then.  The parameter name is arbitrary and is just ignored on the
> server side.
> 
> This essentially forces IE to request a NEW page each time.  It has the
> bonus that you don't need any special CF magic (such as adjusting
> headers).  But I'd imagine setting the headers is probably better in the
> long run.
> 
> HTH
> 
> Shawn
> 
> Carl Von Stetten wrote:
> > Rick,
> >
> > I've had problems in the past with IE using the cached version of AJAX
> > content instead of reloading it.  The solution that generally works is
> > to add this to the top of the .cfm page your are loading via AJAX:
> >
> > <cfheader name="expires" value="#now()#">
> > <cfheader name="pragma" value="no-cache">
> > <cfheader name="cache-control" value="no-cache, no-store, must-
> > revalidate">
> > <Your CF code here...
> >
> > See if that helps.
> > Carl
> >
> > On Jan 8, 5:08 pm, "Rick Faircloth" <r...@whitestonemedia.com> wrote:
> >> Hi, Carl...and thanks for the reply.
> >>
> >> Yes, the conditional statements are in the include_menu_index.cfm file.
> >>
> >> They determine the menu like so:
> >>
> >>                 <cfif isdefined("session.announcements") and
> session.announcements eq 1>
> >>                         <li><a
> href="cfm/announcements.cfm">Announcements</a></li>
> >>                 </cfif>
> >>
> >>                 <cfif isdefined("session.res_announcements") and
> session.res_announcements eq 1>
> >>                         <li><a href="cfm/res_announcements.cfm">RES
> Announcements</a></li>
> >>                 </cfif>
> >>
> >> etc....
> >>
> >> FF3 does re-process the CF.  IE doesn't.  I confirmed that by putting
> this code
> >> at the top of the include_menu_index.cfm file:
> >>
> >> <cfset greeting = "Hi, Rick" />
> >> <cfoutput>greeting = #greeting#</cfoutput>
> >>
> >> Next, I logged out, clearing the session variables, then logged back in
> >> and got "greeting = Hi, Rick" at the top of the menu.
> >>
> >> Then, before logging in as another user with different access to menu
> items, and
> >> therefore a different menu structure, I changed "Rick" to "Bob" and saved
> the
> >> include_menu_index.cfm file.
> >>
> >> I logged in as the new user, and sure enough, I got "greeting = Hi, Rick"
> instead
> >> of what was actually in the template, "greeting = Hi, Bob".
> >>
> >> Only when I refreshed the page did I get the correct greeting, "greeting
> = Hi, Bob".
> >>
> >> I've tried everything to try and figure out a way to get IE to re-render
> the menu,
> >> but everything I've tried has failed.
> >>
> >> I think I may have to use the cfc that processes the user's credentials
> to create
> >> the appropriate menu and save that content as plain HTML, then load that
> with jQuery.
> >> The loading seems to work with plain HTML, but without re-freshing,
> processing of
> >> code doesn't run.
> >>
> >> Thoughts?
> >>
> >> Rick
> >>
> >>> -----Original Message-----
> >>> From: jquery-en@googlegroups.com [mailto:jquery...@googlegroups.com] On
> Behalf Of Carl Von Stetten
> >>> Sent: Thursday, January 08, 2009 5:13 PM
> >>> To: jQuery (English)
> >>> Subject: [jQuery] Re: How to force processing of ColdFusion code when
> using .load
> >>> Rick,
> >>> Is the ColdFusion conditional code in the includes/
> >>> include_menu_index.cfm file?
> >>> If so, there may be issues with the AJAX request not using the same
> >>> ColdFusion session as your main page.
> >>> Also, you might check your AJAX response using Fiddler with IE and
> >>> compare it to the response in Firefox using Firebug.
> >>> HTH,
> >>> Carl
> >>> On Jan 8, 3:04 pm, "Rick Faircloth" <r...@whitestonemedia.com> wrote:
> >>>> How can I force the processing of ColdFusion code in a menu
> >>>> segment when I have some login and I replace the menu HTML.
> >>>> I had some conditional code like:
> >>>>                 <cfif isdefined("session.announcements") and
> session.announcements eq 1>
> >>>>                         <li><a
> href="cfm/announcements.cfm">Announcements</a></li>
> >>>>                 </cfif>
> >>>>                 <cfif isdefined("session.res_announcements") and
> session.res_announcements eq 1>
> >>>>                         <li><a href="cfm/res_announcements.cfm">RES
> Announcements</a></li>
> >>>>                 </cfif>
> >>>> This code displays menu items only if the user has clearance
> >>>> to access those sections in a site manager.
> >>>> The problem I have is the IE (seems to be working fine in FF3)
> >>>> is not processing the CF code unless I do a full page refresh...then it
> >>>> displays the menu appropriately.
> >>>> Here's the jQuery...any idea how to force IE to reprocess the CF, too?
> >>>>> $.ajax({
> >>>>>      type: "POST",
> >>>>>      url:  "login/login_processor.cfm",
> >>>>>      dataType: "json",
> >>>>>      data: formval,
> >>>>>      success: function(response){
> >>>>>            if (response.login == "Login Successful")
> >>>>>               { $('#logstatus').empty().append("Log Out");
> >>>>>                 $('#menu').hide();
> >>>>>
> $('#menu').load("includes/include_menu_index.cfm").show();
> >>>>>            tb_remove() }


Reply via email to