使用Jquery将URL变量传递给PHPExcel

我正在尝试将URL变量传递给我的PHPExcel PHP脚本,以便可以使用$_GET数组在脚本中提取它们.
当按下表单(form1)按钮时,将调用PHPExcel脚本,并且变量基于第二个表单(filters_form).

{filters_form是服务于不同脚本的常规“过滤器”形式,例如过滤JqGrid.意思是说,它与form1分离是有原因的.在form1上,我放置了一个调用PHPExcel脚本的按钮,该按钮还需要使用filters_form提供的相同过滤器}

因此,我试图使用Jquery这样调用PHPExcel脚本:

$(document).ready(function() {
  $('#form1').click(function() {
    var filters_form_serialized = $('#filters_form').serialize();
    var URL = 'PHPExcel_script.php?' + filters_form_serialized;
    $('#form1').attr('action', URL);
    $('#form1').submit();
  });
});

form1是:

<form id="form1" action="" method="get" target="_blank">
 <button id="form_button" type="button"></button>
</form>

filter_form是:

<form id="filters_form">
 <input name="input1" type="checkbox" value="0" checked="checked" />
 <input name="input2" type="checkbox" value="1" checked="checked" />
</form>

确实调用了PHPExcel脚本,但是脚本无法识别/获取$_GET数组中的任何变量,例如:

if(isset($_GET['input1']))
  {echo "TRUE";}
else
  {echo "FALSE";}

返回FALSE.
有什么想法吗?
谢谢!

附言我已经使用警报检查了URL的编码是否正确;此外,使用其他脚本可以正确识别具有相同变量的完全相同的url.

解决方法:

您可能尝试实现的目标似乎可行,但事实并非如此:

您的浏览器会删除来自action属性的查询参数.我认为那不是obvious.

幸运的是,您不需要.

而是只需设置一个新位置:

$(document).ready(function() {
  $('#form1').click(function() {
    var filters_form_serialized = $('#filters_form').serialize();
    var URL = 'PHPExcel_script.php?' + filters_form_serialized;
    window.location.href = 'http://your.host/and/path/to/' + URL;
  });
});
上一篇:phpExcel无法处理工作表v2.1


下一篇:PHPExcel花费很长时间创建电子表格