I put a refresh tag below the script within conditions. It works, but still not
ideal. It seems there's no way to avoid the 2nd step either redirect or form
post.
<cfif Not IsDefined('Session.Screensize.Width')>
<script type="text/javascript">
var theData= "screenWidth=" + screen.width+ "&screenHeight="+screen.height;
$.ajax({
type: "POST",
url: "/ajax.cfc?method=myMethod",
data: theData,
datatype: "json",
success: function(){}
});
</script>
<meta http-equiv=refresh content="0;URL=test5.cfm">
</cfif>
Test page is:
http://exelstudio.com/test5.cfm
> >>When I first loaded the page I received an error, after I refreshed
> the
> error went away.
>
> This method won't work either, because the Ajax function will be
> executed after the output of the page is already on client side.
> This is why you get an error at the first call. So you have to call
> the template two times so it can use the session variable.
> Furthermore, I'm not sure the Ajax function will use the same session
> as the calling program.
>
>
> A better way would be to use redirection. Example:
> <CFIF NOT isDefined("session.screenWidth")>
> <CFIF NOT isDefined("url.sh")>
> <SCRIPT>
> window.location.href += "?sw=" + screen.width + "&sh=" + screen.
> height
> </SCRIPT>
> <CFELSE>
> <CFSET session.screenWidth = url.sw>
> <CFSET session.screenheight = url.sh>
> </CFIF>
> </CFIF>
> <CFDUMP var="#session#">
>
> You could also work out a POST method version using a FORM to transmit
> the values and the submit() function to redirect.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive:
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:353655
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm