A St. Louis police sergeant was hospitalized in critical condition but expected to survive after being shot in the face twice Sunday in what the police chief called am “ambush.”

Police Chief Sam Dotson said the injured officer was 46 years old and a 20-year veteran of the force. Police said early Monday that the suspect was killed after shooting at officers again.

Neither the officer or the suspect were identified.

"Fortunately for the blessing of God the officer's going to survive," Dotson said during a brief news conference after the shooting. A second news conference was slated to come Monday.

KTVI reported that the shooting occurred in south St. Louis at approximately 7:30 p.m. local time.

The officer was sitting in his car at an intersection with the windows rolled up when a silver vehicle pulled up. Someone inside the car opened fire at least twice. Bullets broke through the glass and struck the officer.

Dotson said the officer was not responding to a call and was targeted because he was sitting in a marked police vehicle.

"He didn't have any chance to react to this threat," the chief said of the injured officer.

Mayor Francis Slay said the officer did nothing to provoke an attack.

"He didn't deserve this," Slay said. "It looks like he's going to survive. He's going to be OK. But this is traumatic. It's traumatic for him, his family. It's traumatic for the city of St. Louis. He was just doing his job."

The attack in St. Louis came on the same day three other officers were shot, one of whom was killed.

A San Antonio detective was fatally shot in his squad car while writing a traffic ticket by someone who pulled up from behind. Detective Benjamin Marconi, 50, was a 20-year veteran of the San Antonio department.

An officer with the Gladstone, Missouri, police department near Kansas City was shot late Sunday, along with a suspect. Also, a Sanibel, Florida, officer was shot in the shoulder during a traffic stop Sunday night, and was treated and released for his injuries.

In July, a gunman in Dallas killed five officers who were working a protest about the fatal police shootings of black men in Minnesota and Louisiana. Ten days later, a man killed three officers in Baton Rouge, Louisiana. And earlier this month, two Des Moines, Iowa-area officers were fatally shot in separate ambush-style attacks while sitting in their patrol cars.

In the St. Louis area, Ballwin, Missouri, officer Mike Flamion was paralyzed from the neck down after being shot during a traffic stop in July. And St. Louis County officer Blake Snyder was fatally shot while responding to a disturbance call in October.

"This just shows the dangers of policing, not only here in St. Louis but around the country," Dotson said.

The Associated Press contributed to this report.