jQuery删除一个URL变量

sn0*_*0ep 16 parameters url jquery

我正忙着制作一个Web应用程序,它需要处理很多erorrs和东西,所以我做了一个jquery ui对话框.这显示了这些错误.数据库检索错误.例如:

当我尝试登录时我的用户名/密码不正确我被重定向到

http://domain.com/?do=login&e=login-incorrect
Run Code Online (Sandbox Code Playgroud)

然后,应用程序知道他必须在数据库中搜索登录错误并向用户显示该错误.现在这一切都很顺利.除了由于某种原因用户将重新加载此特定页面时,他再次获取错误消息,而他不需要获取它.

所以我的计划是将某种功能绑定到close对话框的事件,并将用户重定向到相同的页面错误,而不使用URL中的e参数.我怎么能实现这一点.我尝试了各种各样的东西.但无法让它发挥作用.

我尝试了什么:

低音尝试获取所有可能的参数并将这些参数拼接在一起,除了e参数.像这样:

$ERROR = $_GET['e'];
$DO = $_GET['do'];
$P = $_GET['p'];
$C = $_GET['c'];
$T = $_GET['t'];
$ACTION = $_GET['action'];

// URL WITHOUT ERRORS
$needP = "";
$needACTION = "";
$needDO = "";
if($P != ""){
    $needP = "p=".$P."&";
}
if($DO != ""){
    $needDO = "do=".$DO."&";
}
if($ACTION != ""){
    $needACTION = "action=".$ACTION."";
}
$NOERRORURL = $BASEURL."?".$needP.$needDO.$needACTION;
Run Code Online (Sandbox Code Playgroud)

但它不起作用,它的丑陋

jli*_*jli 30

location.href=location.href.replace(/&?e=([^&]$|[^&]*)/i, "");
Run Code Online (Sandbox Code Playgroud)

这将从查询字符串中删除e参数的所有实例并刷新页面.