如何在提交表单后从URL中删除params?

时间:2010-02-01 11:33:05

标签: javascript html zend-framework onclick

当我在浏览器中使用以下链接时,会在此页面的表单中填写一条记录进行编辑。

http://vcred.dev/#personal/myacademicdetail?record_id=15

当我点击“保存”按钮时,记录在数据库中成功更新,表格中仍有更新的值仍在我面前。对我来说没关系。但是在发布表单后我只有一个问题。在地址栏中,URL与发布前相同。

http://vcred.dev/#personal/myacademicdetail?record_id=15

但在我的表单发布后,我希望在地址栏中没有params的短网址:

http://vcred.dev/#personal/myacademicdetail

如何使用javascript?

3 个答案:

答案 0 :(得分:1)

由于您在URL中使用哈希,因此可以在JavaScript中执行以下操作:

location.href = location.protocol + "//" + 
                location.host + 
                location.pathname + 
                location.hash.split('?')[0];

这不会导致页面刷新,如此Stack Overflow帖子中所述:How do I, with javascript, change the URL in the browser without loading the new page?

答案 1 :(得分:1)

就Zend Framework而言,保存记录后使用:

$this->_redirect('#personal/myacademicdetail');

这将告诉用户的浏览器转到URL。

答案 2 :(得分:0)

我会这样做,使用 PHP

$referer_host = $_SERVER[ "HTTP_HOST" ];
$referer_uri = explode( "?", $_SERVER[ "REQUEST_URI" ] );
$referer = $referer_host . $referer_uri[ 0 ];

我假设你可能也想看到PHP解决方案,因为你已经提到zend-framework作为你的标签之一。

我只是像这样展开网址,然后使用标题进行重定向。