Cardinals throw no-hitter