2014-01-26 2 views
-3

У меня есть этот PHP код:Php код не работает в JavaScript

<?php 

    $myVar=$_GET['MyVar']; 
?> 

тогда, в моей JavaScript я писал:

var p="<?php echo $myVar;?>"; 

window.open("./myurl.php?MyVar="+p,"_self"); 

Но го кода PHP игнорируется и читать так же, как если это была простая строка, поэтому мой URL-адрес:

./myurl.php?MyVar=<?php%20echo%20$myVar;?> 

Где моя ошибка?

+2

Я думаю, что ваш сервер не разбирает php-код –

+0

Что такое расширение вашего файла ... это php или html или что-то еще? – user1844933

+0

Действительно выполняется на сервере? или Открыл только html-файл в браузере? –

ответ

0

ваш файл сценария должен быть .js.php работать или вы должны написали этот сценарий в .php файле
, если вы хотите использовать .js.php файл добавить header("Content-type: text/javascript")
УДАЧИ

0

Просто надо спросить , Значение, которое вы получаете от $myVar не содержит «Правильно Если переменная использует какой-либо специальных символов, вы должны также использовать json_encode() следующим образом:

var p = <?php echo json_encode($myVar); ?>; 
0

Другой трюк для вас
Если вы» повторно используя простую PHP вставленной с HTML (не MVC или шаблонов), но ваш .js файлы отдельно от файлов .php, вы можете также использовать следующий трюк:

1- В PHP:

$myVar = $_GET['MyVar'];

echo "<script>var p = \"{$myVar}\";</script>";

Таким образом, вы будете создавать (печать) кусок Javascript, который будет инициализировать переменную.

2- В JavaScript

window.open("./myurl.php?MyVar="+p,"_self");

Таким образом, вы просто использовать его, это уже есть.