Задать вопрос
bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Как правильно сделать render (перенаправление) на другую страницу в JS?

Здравствуйте. Как правильно сделать render (перенаправление) на другую страницу в JS? Сейчас использую такой способ
window.location.assign(  $parentElem.data( 'path-products' ) +'?id=' + data )


Может есть более изящный способ, особенно в плане передачи параметров так что бы не конкатенировать строку, а например передавать обьект {id: id}? Спасибо.

Всем спасибо за ответы, вот может кому-то пригодится переписал под Coffeescript
assignLocation = (siteUrl, urlParams) ->

  serializeParams = (params) ->
    Object.keys(urlParams).reduce((acc, cur) ->
      acc += "&#{ cur }=#{ encodeURIComponent( urlParams[cur] ) }"
    , '').replace(/^&/, '')
    
  console.log "#{siteUrl}?#{serializeParams(urlParams)}"
#   //window.location.assign(`${siteUrl}?${serializeParams(urlParams)}`);

assignLocation('https://www.site.com/test',
   id: 324
   name: 'Jack'
   age: 25 ) # 'https://www.site.com/test?id=324&name=Jack&age=25'
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Оценить 1 комментарий
Решение пользователя alex К ответам на вопрос (3)
potapchino
@potapchino
function assignLocation(siteUrl, urlParams) {
	
	function serializeParams(params) {
		return Object.keys(urlParams).reduce((acc, cur) => {
			return acc += `&${ cur }=${ encodeURIComponent(urlParams[cur]) }`;
		}, '').replace(/^&/, '');
	}
	
	window.location.assign(`${siteUrl}?${serializeParams(urlParams)}`);
}

assignLocation('https://www.site.com/test', {
	id: 324,
	name: 'Jack',
	age: 25,
}); // 'https://www.site.com/test?id=324&name=Jack&age=25'
Ответ написан
Комментировать