Wordpress:使用其他自定义页面中的参数调用自定义页面

时间:2014-07-24 09:23:20

标签: javascript php jquery wordpress angularjs

我是Wordpress,PHP和Angularjs的新手,所以请耐心等待。

我有两个自定义页面,我们称之为page-Apage-B

我希望能够点击page-A上的链接并在新标签页上打开page-B,并向其传递参数。

参数是一个非常长的文本字符串,所以我认为使用POST会更合适。

注意:我使用的是Angularjs而不是JQuery。

这些是我一直在尝试但没有成功的事情:

这将打开一个包含page-B的新标签页,但不允许我传递我需要的字符串参数:

url = "<?= get_page_link(115) ?>";
window.open(url,'_blank');

这允许我发送参数但不打开新标签:

url = "<?= get_page_link(115) ?>";
return $http({
        url: "<?= get_page_link(115) ?>",
        method: 'POST',
        params: {
            event_id:event_id,
            texto:event.text,
        },
        data: this.text
});
  

所以我的问题是:如何打开新标签页以显示我的自定义页面page-B,并使用参数传递它?

2 个答案:

答案 0 :(得分:3)

我不知道 get_page_link(115)会给你什么,但这里是一个使用新标签将参数传递给php的示例。

javascript:

  

var test1 =“你好”;

     

var test2 =“世界”;

     

url =“ExamplePage.php?Val1 =”+ test1 +“&amp; Val2 =”+ test2;

     

window.open(URL, '_空白');

<强> ExamplePage.php:

$Var1 = $_GET['Val1'];
$Var2= $_GET['Val2'];

echo $Var1;
echo $Var2;

输出将是:“Hello World”

答案 1 :(得分:2)

锚点链接(标签)仅触发GET请求。另一方面,如果参数是长长字符串,则因为URL最大长度约束而无法使用GET。如果要使用POST重定向到其他页面,则需要执行以下步骤:

  1. 当用户点击页面A中的锚点链接时,通过javascript通过无线方式构建表单操作,需要将表单操作设置为页面B URL,并将目标_blank设置为锚点链接。
  2. 添加到新创建的表单中,您需要所有输入隐藏字段。
  3. 通过无线表格致电提交活动。

     <script type="text/javascript">
     function createFormAndSubmit(targetUrl, parameter) {
         var form = document.createElement("form");
         document.body.appendChild(form);
         form.method = "POST";
         form.action = targetUrl;
         form.target = "_blank";
         var element1 = document.createElement("INPUT");         
         element1.name="texto"
         element1.value = parameter;
         element1.type = 'hidden';
         form.submit();
     }
    
     url = "<?= get_page_link(115) ?>";
     parameterValue = "LONG STRING HERE";
    
     createFormAndSubmit(url, parameterValue);
     </script>