ajax event abstract