ajax: альтернатива header'у PHP'шному естЬ?

a1exey

Новичок
ajax: вызов js функции

Добрый день. Подскажите есть ли на js альтернатива редиректа ? проще говоря есть скрипт,
PHP:
if ($opengames > 0)
{
  echo "<input type=button value='Начать игру $row[0]' onclick=\"sndReq('action=casino&takegame=$row[0]', '')>";
  //echo "<script>sndReq('....url....','outcards');</script>";
  //header("Location: /casino.php?takegame=$row[0]");
  die;
}
т.е. при нажатии на кнопку идёт проверка, если это то вызывать функцию надо чтобы загрузить данные, а функция не вызывается :( смотрю что выдается в заголовках, там это прописано <script>sndReq('....url....','outcards');</script> т.е. всё как надо но функция не срабатывает. писал alert('...') также не работает...
это вобще реально сделать чтобы работало? поэтому пришлось сделать кнопку при нажатии которой вызывать функцию. в body onload это вставить нельзя.
 

WP

^_^
Перечитал бы пост перед отправкой, а то с трудом можно понять тебя.
Код:
location.href = 'URL для редиректа'
 

a1exey

Новичок
так дело в том что у меня не ссылка а функция...sndreq...именно её нужно вызвать когда возвращаются данные от обработчика...в посте приведён пример демонстрирующий то что мне нужно...
 

Wicked

Новичок
давай по порядку.
что такое "проверка"?
откуда возвращаются данные?
что такое обработчик?

что, в конце концов, ты пытаешься сделать? может быть попробуешь объяснить это по-русски, не вдаваясь в технические подробности?
 

a1exey

Новичок
ок. скажу полностью как есть, я не знаю как это объяснить по другому...
есть файл casino.php
есть файл обработчик ajax.php (выводит то что будет отображаться динамически (без перезагрузки страницы))
есть global.js (ajax скрипт)
в casino.php есть кнопка BUTTON при нажатии на которую вызывается js функция sndReq и вставляет в <div> который чуть ниже данные из файла ajax.php
нажимаю значит кнопку и чуть ниже у меня выводятся данные из файла ajax.php.
содержимое файла ajax.php
проверка например любая, это неважно...
к примеру:
if ($value == 'yes')
{
вывести в файл casino.php строки <script>sndReq(...)</script>
}
соотв. я хочу чтобы функция выполнилась при выводе... но выполняться она не хочет...она выполняется ТОЛЬКО если есть какая нить кнопка, например:
if ($value == 'yes')
{
вывести в файл casino.php строки <input type=button onclick=sndReq(......)>
}
при нажатии на кнопку функция срабатывает и выводит другие данные.
собственно вопрос: можно ли обойтись БЕЗ этой кнопки которая мне впринципе нафик не нужна.
знаю что можно в <BODY onload...> зафигачить, но мне этот вариант не подходит.

-~{}~ 15.10.07 19:40:

вобщем создал картинку 1 на 1 пиксель прозрачную и на неё повесил событие onload. но мне кажется это неправильный подход.
 

tf

крылья рулят
а в библиотеке что нету такой функции - выполнить js код?
 

a1exey

Новичок
if ($value == 'yes')
{
echo "<script>eval(sndReq(.......));</script>";
}
функция не выполняется :(
<script>document.write(sndReq(......));
так тоже не выполняется :(
<script>document.write(eval(sndReq(.......)));</script>
так тоже
 

alekciy

Новичок
Автор оригинала: a1exey
знаю что можно в <BODY onload...> зафигачить, но мне этот вариант не подходит.
Почему?

Нужно запустить функцию на странице не по событию связанному с действиями клиента, используй setInterval.
 

tf

крылья рулят
alekciy, ага объясни раз ты вызвался как ему запустить хотябы одну функцию, путь и setInterval или sndReq, что не суть важно и прочитай тему она о другом

a1exey, а ты почему не посмотрел в гугле какие аргументы у функции eval?
 

a1exey

Новичок
2 tf: я смотрел, только через яндекс - http://www.dzmrianinaski.myweb.ge/jsref_eval.asp.htm
2 alekciy: как раз нужно запустить функцию по действию клиента, только действие это должен вызвать вывод данных, проще говоря вывод картинки с действием onload привязать можно, всё работает, а вот по другому я так понял никак.
по поводу body, а разве может быть у документа 2 body? ведь страница сама по себе уже загружена и body уже прописан.
 

tf

крылья рулят
eval(string)
т.е. eval("sndReq(.......)");
и это должно выполнятся а не прописыватся в innerHTML твоим приемником запроса от сервера
 

fast2111

Новичок
a1exey А где лежит та самая функция sndReq?
Если в globals.js тогда в чем вопрос?
Как оброботать событие onclick в <input>?
Как вставляешь ответ от ajax.php, через innerHTML?
 

a1exey

Новичок
да, функция лежит в global.js
вопрос в том как мне её вызвать при первоначальной загрузке страницы (body onload) не катит.
объясню проще:
на странице 4 раздела:
логи, ошибки, скорости, баны
при загрузке страница у меня эти 4 ссылки видны, при клике на любую из них ниже них появляется таблица с данными.
можно ли сделать чтобы при загрузке самой страницы у меня по умолчанию подгружался конкретный раздел?
p.s. это уже чуть другая проблема, ту я решил хоть и криво, при нажатии на кнопку (по которой вызывалась функция sndReq) выводил картинку, а на картинку поставил onload событие, по этому событию у меня опять вызывалась функция sndReq только уже совсем с другими параметрами...в итоге лишний подгруз картинки...как от него избавиться не знаю. в пхп есть header, в любом месте (до вывода данных) воткнул и туда перелетел.
 

fast2111

Новичок
Я тебя не понимаю... Почему нельзя использовать iframe для этих целей.
>можно ли сделать чтобы при загрузке самой страницы у меня по умолчанию подгружался конкретный раздел?
Да генерируешь "саму страницу" на php где в JS делаешь что-то вроде:
PHP:
JS:


function Init() {
 var defaultContent = <?php echo $defaultContent; ?>;
 switch (defaultContent) {
  case 0: {
     LoadMyRazdel("url");
  } break;
  ...
 }
}
 
Сверху