RJS render errors when user clicks away before render completes

We have an issue where we are using RJS templates to render the
results of Ajax calls. Everything works fine so long as the user
waits for the render to occur. However, if the user initiates the
request and the RJS template is still in the process of rendering, but
hasn't completed, and the user clicks a different link, then we get a
Javascript alert popup "Unexpected Server Error" for each line of RJS
that has not yet completed. There is no stacktrace in the
development (or production) log. Once the alert(s) are cleared, the
secondary request completes fine.

What is best practice for guarding against this situation, or at a
minimum prevent the alert popup? We tried putting begin/rescue
blocks around the RJS but that did not seem to help.

Any pointers appreciated.

Thanks,

Michale

We have an issue where we are using RJS templates to render the
results of Ajax calls. Everything works fine so long as the user
waits for the render to occur. However, if the user initiates the
request and the RJS template is still in the process of rendering, but
hasn't completed, and the user clicks a different link, then we get a
Javascript alert popup "Unexpected Server Error" for each line of RJS
that has not yet completed. There is no stacktrace in the
development (or production) log. Once the alert(s) are cleared, the
secondary request completes fine.

What is best practice for guarding against this situation, or at a
minimum prevent the alert popup? We tried putting begin/rescue
blocks around the RJS but that did not seem to help.

If the errors are javascript errors then it's normal that trying to
rescue things in the RJS did nothing: your rjs template just generates
javascript that is executed by the browser at a later point in time.
Have you tried using firebug (or similar) to work out what is actually
happening?

Fred

Javascript errors happen all the time due to weird browsing behavior
and usually go unnoticed by typical users (unless of course it's being
caused by your actual code). The fact that the error pops up in an
alert window is a debugging feature of the Development environment in
Rails. In other words, when your site is in Production mode on the
server, the error should not trigger an alert window at all, and the
error should generally go unnoticed by the user. And if they're
clicking to another page, then the error should have no effect on
their browsing experience.

Unless of course you are getting these alerts in production mode, in
which case that's a whole other situation.

-Steve

Unless of course you are getting these alerts in production mode, in
which case that's a whole other situation.

-Steve

Fred and Steve. Many thanks for the replies. My apologies for not
following up sooner but other priorities arose. I finally tracked
this down to an alert thrown by our code. We were generating an
alert when calling JQuery.ajaxSetup when handling the XMLHttpRequest
Object UNSENT error status.

-Michael