我目前正在为我们的旅游网站开发一个查询系统。
当用户提交查询时,我已将其设置为重新加载同一页面(通过抓取当前网址并将其设置为重定向)。
重定向后,我的javascript检测到URL中是否存在以下字符串 - “?sendto”,如果是,则返回感谢信息。
在此过程之后,我希望从网址末尾删除“?sendto =email@address.com”字符串(示例网址为www.google.com/index.html?sendto=email@address.com )。因此,我的问题是:
我能够通过脚本删除当前网址的一部分
答案 0 :(得分:1)
我建议调查bbq jquery哪个图书馆似乎是您正在寻找的。 简单地说“google.com?email = ...”。split('?')
答案 1 :(得分:1)
正如Scoop所说,我不确定这是否可行。我有一个类似的场景,我将QueryString传递回服务器绘制图表。我不希望它出现在地址栏中,所以我从服务器端获取了所有有用的信息之后将其剥离。
答案 2 :(得分:1)
这可以通过Jquery Ajax,Xajax等非常容易地完成。您只需显示表单,onclick通过ajax提交到服务器,并在成功内部html上将表单作为您的谢谢消息。根本不需要编辑url字符串。如果您觉得需要知道发生的过程,请设置会话变量。
您经常在基本的PHP tuts中看到这个完成的服务器端,其中表单页面上有一个case语句,如:
if ($_POST) {
//process form
//echo message
} else {
//echo form here
}
然后表单提交给自己并显示消息。不是ajax-y,但多年来一直以这种方式成功完成。
答案 3 :(得分:0)
试试这个:http://snipplr.com/view/12659/parseurl/
您可以使用它将您的网址解析为单个组件。如下所示:
var url = parseURL(window.location.href); window.location = url.protocol +'://'+ url.host + url.path;
答案 4 :(得分:0)
如果您询问是否可以在浏览器栏中更改显示的URL,则答案为否。原因? 你希望某个随机网站能够将其网址更改为http://bankofamerica.com
吗?
如果您正在询问如何为用户方便地剥离它(并且可以重定向),请执行以下操作:
document.location = document.location.toString().replace(/\?.*/, "")
会改变像
这样的网址http://google.com/index.html?sendto=email@address.com
到
http://google.com/index.html
但它会通过将用户的浏览器重定向到新网址来实现。