In Ajax call, the readyState property value is not enough to make a decision. We know something is received but what is received is also important. It matters wheater you received a baby boy or girl (at least in India! ) :))
So status code ranges and their meaning are: ( in ranges)
100 ranges – In progress
200 ranges – Great
300 ranges – File/resource moved from server
400 ranges – Problem with browser side
500 ranges – Problem with the server side.
Boom! Now it’s easy to get a basic idea of what happened there based on the status code. right? Good luck!