WASHINGTON — Congress voted on Friday to terminate the national emergency that President Trump has declared at the southwestern border, delivering a bipartisan rebuke of his efforts to redirect federal money to a border wall without congressional approval.

The resolution of disapproval — the second time in two months that Congress has rejected Mr. Trump’s scheme to allocate large sums for a border barrier over lawmakers’ objections — fell short of its goal. With only 11 Republicans joining House Democrats in supporting it, the measure did not draw the two-thirds majority that would have been needed to overcome a veto. The Senate, which passed the measure this week, also did not muster a veto-proof majority.

But the action underscored the continuing struggle between Mr. Trump and Congress over his signature political promise and domestic priority, a symbol of an immigration agenda that has divided the country and the two political parties.

“The president had said Mexico will pay for his wall, not military families,” said Speaker Nancy Pelosi of California. “The administration’s decision also dishonors the Constitution by negating its most fundamental principle: the separation of powers. It’s an assault on our power of the purse.”