特定のユースケースでは、「古い方法」で単一のフォームを送信する必要があります。つまり、action="" を含むフォームを使用します。応答はストリーミングされるため、ページをリロードしていません。私は、典型的な AngularJS アプリがそのようにフォームを送信しないことを完全に認識していますが、これまでのところ他に選択肢がありません。
そうは言っても、Angular からいくつかの非表示フィールドにデータを入力しようとしました。
<input type="hidden" name="someData" ng-model="data" /> {{data}}
データの正しい値が表示されていることに注意してください。
フォームは標準フォームのように見えます:
<form id="aaa" name="aaa" action="/reports/aaa.html" method="post">
...
<input type="submit" value="Export" />
</form>
送信を押しても、値はサーバーに送信されません。入力フィールドを「テキスト」タイプに変更すると、期待どおりに機能します。私の仮定では、非表示フィールドには実際にはデータが入力されていませんが、テキスト フィールドは実際には双方向バインディングのために表示されています。
AngularJS によって入力された隠しフィールドを送信する方法はありますか?