deferred.resolve({error: 'Empty offer'}); is breaking SPA - no partials rendered. However, deferred.resolve(); works well. Please fix.