There is no strange result here.You're trying to check the async result inside the sync method.B'cos of that, it always fires sync method before the async method.
So you have 2 options here.First one is, check your SPAN value inside the ajax (async) method.Or second method is make your ajax method as sync by using
async:false
Please try that and let me know,if you have any issues.