执行链接然后再次重定向

时间:2013-08-17 12:52:58

标签: php redirect mybb

我有一个mybb板,我提供了一个链接,看起来像这样

<a href="/member.php?action=login&do=switch">Klick</a>

链接会更改会话并重新加载页面,因此我需要执行会话中的更改。然而,之后我想将用户重定向到另一个页面,如“/private.php”

我已经尝试过组合href和onclick的不同版本但是它总是把我带到href中声明的页面,忽略了onclick位。 所以我的代码看起来有点像这样:

<a href='/member.php?action=login&amp;do=switch&amp;uid={$others['uid']}' onclick='window.location.href({$mybb->settings['bburl']}/private.php);'>Link</a>";

我必须说我在javascript方面几乎是一个菜鸟所以我需要一些帮助。我想用javascript或php解决这个问题,所以请不要使用meta标签。

1 个答案:

答案 0 :(得分:1)

您有两个选择:

  • /member.php?action=login&do=switch中,将重定向响应(http 301)返回private.php,浏览器会在收到回复后自动重定向。
  • 使用ajax调用链接/member.php?action=login&do=switch,并在ajax的回调中,使用private.php重定向到window.location.href = private.php

使用jquery的示例代码:

$("a").click(function(){
  var href = $(this).attr("href"); //href here is "/member.php?action=login&do=switch"
  $.ajax(
  {
     url:href,
     ...
  }).done(function(){
   window.location.href = "private.php"
  });
  return false; //prevent default action of links.
});