2012-07-01 3 views
1

Я хочу использовать один php-файл для обработки всех моих запросов на голосование.Обновление страницы с помощью javascript с использованием php-заголовка ('location')

В настоящий момент сценарий будет, если siteType не установлен, переслать пользователя и отобразить сообщение. Если пользователь имеет JS, тогда он вернет объект json и ajax страницу.

 if(!isset($_COOKIE['siteType'])){ 
      displayMessages('bad', 'Before you can continue you must select which category you would like to be in.'); 
      header('Location:/'); 
      exit; 
     } 

мне это нужно, как если это PHP код выше выполняется страница перезагружается, я предполагаю, что с яваскрипт и чтения заголовков HTTP?

[Редактировать] Я не сделал себе достаточно ясно, но это запрос ajax. Я не выводю никаких html. Значит, это действительно связано с тем, что js обрабатывает заголовок?

+2

Вы не можете использовать заголовок() ПОСЛЕ вывода данных в поток HTTP. –

+0

так ... JavaScript сделает это уже? –

ответ

3

Вы не можете Обновление страницы с JavaScript, используя PHP заголовок ('Location') Потому что, заголовок ('Расположение: ххх') ; должен быть только вывод вашего PHP скрипт, это заголовок, вы не можете поместить его после яваскрипта синтаксиса

+0

, но я хочу, чтобы мои 'js' обрабатывали заголовок ... почему бы, но заголовок перед синтаксисом javascript? Может быть, я не сделал себе ясности –

+0

, пока это не было решением моей проблемы, но по-прежнему дает хорошую информацию по этому вопросу для других. –

0

Может быть, это будет какое-то решение для вас,

if(!isset($_COOKIE['siteType'])){ 
    displayMessages('bad', 'Before you can continue you must select which category you would like to be in.'); 
    echo '<script>window.location.reload()</script>'; 
    exit; 
} 
+0

Я бы пошел с тегом reflex meta вместо сценария в случае, если JS отключен. – sachleen

+0

как я уже сказал, я возвращаю объект json, поэтому я не могу поместить Mscript> теги ... –

1

PHP

echo '<meta http-equiv="refresh" content="0">'; 

Javascript

window.location.reload(); 
+0

его запрос ajax json. Я не буду работать, так как я не могу вывести какой-либо html –

+0

Я обновил свой ответ. – desbest

+0

cheer fella. Мальчик, я не думаю, что я поставил вопрос достаточно ясно. Так что javascript не будет знать, когда перезагружать страницу. –

Смежные вопросы