Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > JS скрипты в php файле


Автор: Aliance 23.3.2006, 23:58
index.php
Код

<?php
$js_scripts = ($_GET['m']) ? $morgenshtern['url']."js/scripts.php?m=".$_GET['m'] : $morgenshtern['url']."js/scripts.php";
?>
...
<script language="JavaScript" type="text/javascript" src="<? echo $js_scripts ?>"></script>


scripts.php
Код

<?php
Header("content-type: application/x-javascript");
echo <<<EOS
   // JS функции
   alert({$_GET['m']});
EOS;
?>


Если страница index.php - то все работает нормально. Генерируется код:
Код

<script language="JavaScript" type="text/javascript" src="js/scripts.php"></script>

И выводит пустой алерт.

Но если страница index.php?m=test, опять же генерируется правильно код:
Код

<script language="JavaScript" type="text/javascript" src="js/scripts.php?m=test"></script>

А алерта вообще нет.

Полностью потерял программисткий опыт, в связи с экзаменами и подготовкой к ним. Подскажите, где я наврал smile

Автор: Ciber SLasH 24.3.2006, 01:31
По-моиму тут не нужно header выводить, т.к. код всё равно попадает в HTML.

Автор: Aliance 24.3.2006, 01:35
Нужно. Пример брал с сайта одного. Тут именно проблема в параметрах, передаваемый в js файл.

Автор: Ciber SLasH 24.3.2006, 02:19
Проверил, работает в Опере и в IE, а в FF ругается:
Цитата
Ошибка: uncaught exception: [Exception... "Not enough arguments [nsIDOMWindowInternal.alert]"  nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"  location: "JS frame :: http://phptests/stuff/script.php :: <TOP_LEVEL> :: line 1"  data: no]

Автор: S.A.P. 24.3.2006, 08:38
Aliance, я вижу ты в параметр алерта пытаешься передать строку
Цитата(Aliance @ 23.3.2006, 23:58 Найти цитируемый пост)
js/scripts.php?m=test

, а в вызове - кавычек нет
Цитата(Aliance @ 23.3.2006, 23:58 Найти цитируемый пост)
alert({$_GET['m']});

это опечатка?

Автор: Ciber SLasH 24.3.2006, 08:55
Цитата(S.A.P. @ 24.3.2006, 08:38 Найти цитируемый пост)
а в вызове - кавычек нет

Ха, действительно, та же из-за кавычек всё и не работает. smile

Автор: Aliance 24.3.2006, 11:25
S.A.P., огромное спасибо! Это не опечатка, это невнимательность user posted image

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)