在位置更改时将表单对象发送到页面

Send form object to page on location change

本文关键字:单对象 表单 位置      更新时间:2023-09-26

我在Angular中有一个表单。最后,表单中有一个多层次的结果对象。例如:

var form = {
  answer1: "something",
  answer2: {
    subAnswer2-1: "this",
    subAnswer2-2: "something else"
  }
};

HTML表单包装器如下所示:

<form name="assessment" ng-submit="assessmentSubmit(form)">
</form> 

现在,在我的控制器中,我想转到具有POST数据(表单对象)的新页面。新页面是一个.php文件,它将结果处理成PDF。

我可以这样重定向,但我如何应用表单数据?

$scope.assessmentSubmit = function(form){
  $window.location.href = 'convert-pdf.php';  
};

将表单对象存储在sessionStorage中,如下所示:

首先,在控制器中注入$window服务。然后,

$window.sessionStorage['form'] = JSON.stringify(form);

之后,重定向并在php文件中检索表单对象:

<script>
    var form_obj = JSON.parse(window.sessionStorage['form']);
</script>