If you send header HTTP code 500 from your controller $this->getResponse()->setHttpResponseCode(500);
you can catch it in your javascript with $.ajax({ type: 'POST', url: '/c/a', data: $('#form').serialize(), dataType: 'html', success: function(response) { // success code }, error: function() { // error code - show some red div or alert or... } }); Regards, Saša Stamenković On Wed, Oct 28, 2009 at 2:29 PM, drm <d...@melp.nl> wrote: > Juan Felipe Alvarez Saldarriaga wrote: > >> I'm using the default ErrorController from Zend_Tool, so, when an >> error is thrown setHttpResponseCode sets an error 500, how can I catch >> the exception message on javascript? how can I set the exception >> message into the response object? there's not setMessage method in >> Zend_Http_Response :| how can I achive this? I'm using jQuery to catch >> errors, using $.ajaxSetup( { error: function( XMLHttpRequest, >> textStatus, errorThrown ) {} } ); XMLHttpRequest.statusText has the >> default error message "Internal Server Error" from Zend_Http_Response, >> there's a way to change this message with the exception message?. >> >> > Though strictly not a Zend Framework question but more a jQuery one, you > can just read out the responseText property of the XMLHttpRequest. Try this > snippet: > > <?php > > if(count($_GET)) { > Header("HTTP/1.1 500 Internal server error"); > echo "Sorry, error!"; > die(); > } > > ?> > <script type="text/javascript" src="javascript/jquery.js"></script> > <script type="text/javascript"> > $(function(){ > $.ajaxSetup({ > error: function(req) { > alert("Error " + req.responseText); > } }); > $('input').click(function(){ > $.get('<?php echo $_SERVER['PHP_SELF']?>', {test: 'w00t'}, > function(data){ > alert(data); > }); > }); > }); > </script> > > <input type="button" value="click me"> >