2013-09-10 3 views
0

Я работаю в PHP Codeigniter. текущий URL моей странице является =>http://localhost.hbs.com/hbs/merchant/login На мероприятии я хочу, чтобы перенаправить мою страницу =>http://localhost.hbs.com/hbs/category Я пытаюсь следующий код,Javascript неправильно перенаправляет

window.location = '<?php echo json_encode(base_url("category"));?>'; 

также попытался

=>window.location.href , top.location 

Но это перенаправляет меня на,

http://localhost.hbs.com/hbs/merchant/"http://localhost.hbs.com/hbs/category" 

Я также попытался для отладки этот код, window.location = "google.com" но он перенаправляет меня =>http://localhost.hbs.com/hbs/merchant/google.com

+1

Почему вы используете 'json_encode' url перед выдачей? выглядит как ошибка цитирования, почему обратные ссылки вокруг строки? – NDM

+0

Вам нужно отделить http: // inorder, чтобы перенаправить его на внешний uri. – Shadow

+0

json_encode добавляет кавычки к вашей строке, которые вы переворачиваете в кавычки. Поэтому, если вы просмотрите источник своей страницы, вы увидите «http: // website». Если вы не выводите json, json_encode не требуется. –

ответ

1

Вы используете `символы в строке и I «Не знаю, почему?

Изменить редирект на это:

window.location = '<?= json_encode(base_url("category)) ?>'; 

В объяснении, используя

<?= value ?> 

является сокращенной формой

<? echo value ?> 
+0

, я написал как window.location = ''; – Hxb

0

У вас есть дополнительные кавычки URL. Попробуйте это ...

window.location = '<?php echo json_encode(base_url("category"));?>'; 
0

Решено: json_encode() ставит кавычки вокруг строки. используется следующий код, и все становится нормально.

var url = '<?php echo json_encode(base_url("category"));?>'; 
url = url.replace(/"/g, "");//to replace quotes with "" 
window.location = url; 
0

использование этого: -

window.location.href = '<?php echo json_encode(base_url("category"));?>'; 
0

- EDIT - Вы можете использовать PHP для обнаружения, если они или событие является истинным или равно что-то, и если это сделать

header("Location: /hbs/category"); 

Это может быть и не-js-решение, если вы можете использовать его в этом случае.

Для примера е:

if (foo()===true){ 
    header("Location: /hbs/category"); 
} 


Может попробовать

window.location = "http://localhost.hbs.com/hbs/category" 

Также

window.location = "google.com" 

делает его думать, что это указывает на то, в папку (напр. hbs/index.html, а не новый сайт.) Вы хотите, чтобы

window.location = http://google.com 
Смежные вопросы