xhr status of 0 is failure, not success