URL にポート番号を使用して HTTP ポスト リクエストを実行することは可能ですか?
これでいい
$http.post('http://localhost/httpPost.json', data);
しかし、これは機能していません
$http.post('http://localhost:8081/httpPost.json', data);
はい、AngularJS リクエストでポート番号を使用することは可能です。したがって、問題はここではありません。
「機能していない」ことについてもう少し正確に言えますか?
ブラウザ コンソールを確認します (Chrome では F12、Firefox に firebug がインストールされている場合は F12 も)。おそらく、このコンソールにエラー メッセージが表示されます。
Cross-Origin ポリシーにより、httpPost.json の取得が妨げられていると思われます。データを抽出しようとしている場所から呼び出しが行われていない場合に発生します (たとえば、ファイル システムから、または 8081 で実行されているサーバーとは別のサーバーからブラウザーを開いた場合)。