我是Wordpress,PHP和Angularjs的新手,所以请耐心等待。
我有两个自定义页面,我们称之为page-A
和page-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
,并使用参数传递它?
答案 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重定向到其他页面,则需要执行以下步骤:
通过无线表格致电提交活动。
<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>