My personal approach to this has always been to use HTTP error codes as 
intended...and let the Ajax callback deal with what to do...for example, 
perhaps you have a  route that requires authentication, then you simply return 
a 401 if the auth was incorrect, or a 200 if correct.  The Ajax has a 'done' 
and a 'fail' callback to handle this on the client side...

--
Aaron

> On Mar 23, 2016, at 1:10 PM, Heiko Jansen <[email protected]> wrote:
> 
> Am Mittwoch, 23. März 2016 15:57:32 UTC+1 schrieb [email protected]:
>  
>> A more general question, is this a good way to handle exceptions caught in 
>> mojo callback functions?   An alternative would be to not throw an exception 
>> and instead, render error data that gets returned to the .ajax .done handler 
>> (200 response code).  The .done handler is then responsible to detect the 
>> error values and display an error message to the user.  This would not 
>> generate the 500 response code which could still be thrown by the http 
>> server.
> 
> Oh my, I´m always struggling with that question myself. :-]
> I honestly don´t know if there´s a "correct" answer to that question.
> 
> There´s those - especially with a REST background - who say that you should 
> use the HTTP status codes for signalling application state.
> 
> And then there´s those who tell you that if your code handled the situation 
> then you should go with a HTTP status code indicating success and put error 
> codes in app specific data structures; leaving HTTP status codes and 
> especially error codes for those situations where your server side code 
> didn´t cope with the situation.
> 
> Of course you could also use a HTTP error status _and_ return a data 
> structure with additional information.
> 
> The answer may even depend on wether you´re talking about an API or a user 
> interface.
> 
> Maybe it´s just again a case of "select one option and stick with it".
> Or maybe someone in this group with more experience can chime in and give 
> some better advice... I would be interested in hearing it, too.
> 
> - Heiko
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Mojolicious" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to