2013-08-17 46 views
1

我有一个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标签。

+0

由于所有这些都需要在'GET'到'member.php'后发生的,这一点后,这一切都下到MyBB的框架。编辑重新标记。 –

回答

1

你有2种选择:

  • /member.php?action=login&do=switch,返回重定向响应(HTTP 301)private.php,浏览器会自动接收到响应后,重定向。
  • 使用ajax调用链接/member.php?action=login&do=switch,并在回调ajax时,使用window.location.href = private.php重定向到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. 
}); 
+0

感谢您的快速回复! – Senya

+0

但是我努力使它工作,但我能理解它的功能。我的HTML部分如何看起来像?我试过这样的:... and then called the jquery part using $("a.oc") but that didn't work... (Right now clicking on the link will reload the page but not bring me anywhere) – Senya

+0

@Senya: your '' tag still points to your desired url like 'Klick'在你的情况。如果您选择ajax解决方案,我们拦截点击事件并应用我们的自定义逻辑来代替浏览器的默认行为。 –