We might be overlooking the same little bug but as far as I can see this code should work. Are you familiar with the Vue DevTools for Chrome? It will let you see exactly how Vue saves the data you're pulling in. Perhaps this shows you your data is not saving the way you're expecting.
Edit: @PROGRAMMATOR found the little bug. You have to take the data object from the response and save that instead of saving the complete response.