Javascript/jQuery-剥离当前页面URL

Javascript/jQuery-剥离当前页面URL,javascript,jquery,Javascript,Jquery,我目前正在为我们的旅游网站开发一个查询系统 当用户提交查询时,我将其设置为重新加载同一页面(通过获取当前url并将其设置为重定向) 重定向时,javascript会检测URL中是否存在以下字符串-“?sendto”,如果存在,则返回一条感谢消息 完成此过程后,我希望删除“”发送到“”=email@address.com“url末尾的字符串(示例url-www.google.com/index.html?sendto=email@address.com). 因此,我的问题是: 我是否能够通过脚本剥

我目前正在为我们的旅游网站开发一个查询系统

当用户提交查询时,我将其设置为重新加载同一页面(通过获取当前url并将其设置为重定向)

重定向时,javascript会检测URL中是否存在以下字符串-“?sendto”,如果存在,则返回一条感谢消息

完成此过程后,我希望删除“”发送到“”=email@address.com“url末尾的字符串(示例url-www.google.com/index.html?sendto=email@address.com). 因此,我的问题是:

我是否能够通过脚本剥离当前URL的一部分

尝试以下操作:

您可以使用它将url解析为各个组件。如下所示:

var url=parseURL(window.location.href); window.location=url.protocol+':/'+url.host+url.path

试试这个:

您可以使用它将url解析为各个组件。如下所示:

var url=parseURL(window.location.href); window.location=url.protocol+':/'+url.host+url.path

我建议你调查一下你要找的是谁的图书馆。 简单地说“google.com?email=…”.split(“?”)

我建议您调查一下您要找的人库。
在一个简单的注释“google.com?email=…”.split(“?”)

如果您询问是否可以更改浏览器栏中显示的URL,答案是否。原因是什么?您是否希望一些随机站点能够将其URL更改为
http://bankofamerica.com

如果您询问如何方便地为用户剥离它(并且同意重定向),请执行以下操作:

document.location = document.location.toString().replace(/\?.*/, "")
这将更改url,如

http://google.com/index.html?sendto=email@address.com


但它会通过将用户的浏览器重定向到新的url来实现这一点。

如果您询问是否可以更改浏览器栏中显示的url,答案是否。原因是什么?您是否希望一些随机站点能够将其URL更改为
http://bankofamerica.com

如果您询问如何方便地为用户剥离它(并且同意重定向),请执行以下操作:

document.location = document.location.toString().replace(/\?.*/, "")
这将更改url,如

http://google.com/index.html?sendto=email@address.com


但它会通过将用户的浏览器重定向到新的url来实现这一点。

正如Scoop所说,我不确定这是否可行。我有一个类似的场景,我将查询字符串传递回服务器以绘制图表。我不想让它出现在地址栏中,所以在从中获取所有有用信息后,我在服务器端将其删除。

正如Scoop所说,我不确定这是否可行。我有一个类似的场景,我将查询字符串传递回服务器以绘制图表。我不想让它出现在地址栏中,所以在从中获取所有有用信息后,我在服务器端将其删除。

这可以通过Jquery Ajax、Xajax等工具轻松完成。只需显示表单,单击“通过Ajax提交到服务器”即可,成功的话,把表格放在div里,作为你的感谢信。根本不需要编辑url字符串。如果您觉得需要了解发生的过程,请设置会话变量

在基本PHP tuts中,您也经常看到这种服务器端完成的情况,在表单页面上有一个case语句,例如:

if ($_POST) { 
     //process form
     //echo message 
} else { 
     //echo form here
}

然后表单提交给自己并显示消息。不是ajax-y,但多年来一直是这样做的,并取得了成功。

这可以通过Jquery ajax、Xajax等工具轻松实现。您只需显示表单,单击“通过ajax提交到服务器”,然后在成功的情况下使用表单作为感谢信息的div。根本不需要编辑url字符串。如果您觉得需要了解发生的过程,请设置会话变量

在基本PHP tuts中,您也经常看到这种服务器端完成的情况,在表单页面上有一个case语句,例如:

if ($_POST) { 
     //process form
     //echo message 
} else { 
     //echo form here
}

然后表单提交给自己并显示消息。不是ajax-y,但多年来一直如此,并取得了成功。

好吧,您可以做的一个改变是让服务器告诉客户端将“发送到”操作作为URL哈希的一部分,而不是作为一个参数。我不确定浏览器是否会——甚至应该——在页面加载后更改地址栏中的URL。理论上,您可以将URL更改为不同的域名,然后获得用户对不可靠网站的信任。也许您应该使用表单隐藏值或cookie作为sendto,而不是查询字符串?您可以做的一个更改是让服务器告诉客户端执行“sendto”操作作为URL哈希的一部分,而不是作为参数。我不确定浏览器是否会在页面加载后更改地址栏中的URL。理论上,您可以将URL更改为不同的域名,然后获得用户对不可靠网站的信任。也许您应该使用表单隐藏值或cookie作为sendto,而不是查询字符串?我认为解析URL不是问题。OP希望在不重新加载页面的情况下更改URL地址。我认为解析URL不是问题所在。OP希望在不重新加载页面的情况下更改URL地址