A resounding majority of United Nations member states has defied unprecedented threats by the US to declare President Donald Trump's recognition of Jerusalem as Israel's capital "null and void".

The non-binding measure passed at a UN General Assembly emergency meeting on Thursday with 128 votes in favour and nine against, while 35 countries abstained.

It passed despite intimidation by Trump, who had threatened on Wednesday to eliminate financial aid to member states who would vote against his decision, while Nikki Haley, the US ambassador to the UN, had warned that she would be "taking names" of those countries.

Shortly after the vote, Palestinian leaders thanked the UN member states that rejected Trump's unilateral move "despite all the pressure exerted on them".

"This decision reaffirms once again that the just Palestinian cause enjoys the support of international community, and no decisions made by any side could change the reality, that Jerusalem is an occupied territory under international law," Nabil Abu Rudeina, spokesman for Palestinian President Mahmoud Abbas, said in a statement.

Mevlut Cavusoglu, foreign minister of Turkey, a co-sponsor of the resolution, said on Twitter that "dignity and sovereignty are not for sale".

The session on Thursday at the 193-member body was held at the request of Arab and Muslim countries after the US vetoed the same measure in the Security Council on Monday.

The US was outnumbered 14 to 1 in that vote.

While the Security Council's five permanent members - the US, Britain, France, China and Russia - had veto power on Monday's vote, there are no vetoes at the General Assembly.

Similar to the Egyptian-drafted text that was blocked by Washington on Monday, the draft resolution approved on Thursday did not mention the US by name but expressed "deep regret at recent decisions" concerning Jerusalem's status.

All in all, 128 countries voted for international law.

Embassy move

In addition to recognising Jerusalem as Israel's capital, Trump announced on December 6 that the US would move its embassy from Tel Aviv to Jerusalem.

No country currently has its embassy in the city, which is home to holy religious sites and has particular significance for Muslims, Christians and Jews.

The US decision triggered a series of protests in the occupied Palestinian territories, as well as major international cities - from Jakarta, through Istanbul, to Rabat.

Ahead of Thursday's vote, Israeli Prime Minister Benjamin Netanyahu had called the UN a "house of lies".

"The state of Israel rejects outright this vote, even before it passes," he said at an opening ceremony of a hospital in southern Israel.

"The attitude to Israel of many nations in the world, in all the continents, is changing outside of the UN walls, and will eventually filter into the UN as well - the house of lies," he said.

The status of Jerusalem has long remained a sensitive topic and one of the core issues in the Israeli-Palestine conflict.

After occupying the city's eastern part in the 1967 War, Israel annexed the territory. In 1980, it proclaimed it as its "eternal, undivided capital."

The Palestinian leadership in the West Bank, however, see East Jerusalem as the capital of a future Palestinian state.

They have warned that any change to the status quo would mean the end of the peace process premised on a two-state solution.

Thursday's vote was reminiscent of a session in 2012, when an overwhelming majority backed Palestine's upgrade in the UN to non-member state status.

Some 138 countries voted in support of the upgrade, while nine - including the US, Israel, Canada and several South Pacific countries - voted against.