2010-02-01 1 views
1

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

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

При нажатии кнопки «Сохранить», запись успешно обновлена ​​в базе данных и формы с обновленными значениями все еще впереди меня. Это нормально для меня. Но после отправки формы у меня есть только одна проблема. URL-адрес адресной строки по-прежнему такой же, как и в сообщении.

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

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

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

Как это возможно с помощью JavaScript?

ответ

1

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

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

Это не вызовет обновление страницы, как описано в этой статье переполнением стека: How do I, with javascript, change the URL in the browser without loading the new page?

+0

Да, это помогло мне, но я должен отредактировать ваше заявление. location.href = location.protocol + "//" + location.host + '/ # personal/myacademicdetail'; – NAVEED

+0

На самом деле я только что заметил, что у вас есть хэш (#) в вашем URL-адресе. Вы можете использовать мой измененный ответ, чтобы он работал без жесткого кодирования части после хэша. –

+1

есть. теперь он отлично работает. спасибо – NAVEED

0

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

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

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

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

+0

Да, это способ, но я хочу сделать это без перезагрузки страницы. – NAVEED

1

насколько идет Zend Framework, после того, как вы сохраните использование записи:

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

Это подскажет браузер пользователя, чтобы перейти к URL-адресу.