Как удалить параметры из URL после отправки формы? - PullRequest
1 голос
/ 01 февраля 2010

Когда я использую следующую ссылку в своем браузере, запись заполняется в форме на этой странице для редактирования.

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

Когда я нажимаю кнопку «СОХРАНИТЬ», запись успешно обновляется в базе данных иФорма с обновленными значениями все еще передо мной.Это нормально для меня.Но у меня есть только одна проблема после публикации формы.В адресной строке URL-адрес остается таким же, как и до публикации.

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

Но я хочу, чтобы короткий адрес без параметров в адресной строке после публикации моей формы был таким:

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

Как этоможно с помощью javascript?

Ответы [ 3 ]

1 голос
/ 01 февраля 2010

Поскольку вы используете хеш в URL, вы можете сделать следующее в JavaScript:

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

Это не приведет к обновлению страницы, как описано в этом сообщении переполнения стека: Как мне с помощью javascript изменить URL-адрес в браузере без загрузки новой страницы?

1 голос
/ 01 февраля 2010

Что касается Zend Framework, после сохранения записи используйте:

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

Это скажет браузеру пользователя перейти на URL.

0 голосов
/ 01 февраля 2010

Я бы сделал это так, используя PHP :

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

Я предположил, что вы, возможно, захотите увидеть и PHP-решение, поскольку вы упомянули zend-framework в качестве одного из ваших тегов.

Я бы просто взорвал URL-адрес вот так, а затем использовал бы заголовки для перенаправления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...