stackp/promisejs — pull request #12 by bjrn (2013-04-28 18:57:52+00:00)
Title: xhr.status should accept 204 No content and 304 not modified as successful

Basically all 200-something codes and 304 not modified are to be considered successful.

Certainly not an expert on these things, but this solves an issue I had recently, and it's also how jQuery and Zepto treats statuses.