How to tell a user about an error after clicking a button?

I'm sending an AJAX request to refresh the blog page with posts that apply to certain a category. How do I tell a user that his request failed? Should I tell him exactly why it failed(error, internet connection lost, etc)?

Here are the states buttons are:

Initial: enter image description here Transition (both buttons are white until we get a response from the server): enter image description here Successful: enter image description here


Is it too subtle to just color a button red for 2 seconds and then switch back to the initial state? What should do instead? enter image description here

By default there are latest posts on the page (ALL) and when a user chooses different category, all posts get removed and replaced by the ones from a particular category.

My client is a photographer and so if the visitor of the site is interested only in weddings, he should be able to sort the blog posts for weddings only.

If it fails the old posts stay on page.