handle xhr progress