【问题标题】:Send form object to page on location change在位置更改时将表单对象发送到页面
【发布时间】:2016-02-11 08:28:45
【问题描述】:

我在 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';  
};

【问题讨论】:

  • 是否使用本地存储选项?还是更好的会话存储?

标签: javascript php html angularjs forms


【解决方案1】:

在 sessionStorage 中存储表单对象如下:

首先,在控制器中注入 $window 服务。那么,

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

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

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

【讨论】:

  • 我能用 PHP 访问那个 javascript 变量吗?
  • 不,这是不可能的。您只能使用 javascript 访问会话存储。另一种选择是使用可用于 javascript(frontend) 和 php(backend) 的 cookie
猜你喜欢
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多