Включение php переменных во внешнем файле js

Есть файл php в котором есть 2 переменные и само включение внешнего скрипта

$a = $row["id"];
$b = $row["name"];

<script type="text/javascript" src="scripts/main.js"></script>

В самом файле main.js при определённых условиях срабатывает обработчик, который вносит данные в базу.

        $.ajax({  
            url: "../updates/like.php", 
            cache: false, 
            type: "POST",
            data : {'a':'<?php echo $a?>', 'b':'<?php echo $b?>'}, 
        });

Вместо переменной в базе появляестся код: <?php echo $a?> и <?php echo $b?>

Как сделать так, чтобы эти переменные были видны во внешнем файле?


Ответы (1 шт):

Автор решения: XelaNimed

Если Вам необходимо передать/использовать данные со стороны сервера в JS, то и передавайте их в JS:

$a = $row["id"];
$b = $row["name"];
<script type="text/javascript">
var myGlobalObject = {
    "row": <?php json_encode($row)?>,
    // или
    "a": "<?php echo $a?>",
    "b": "<?php echo $b?>"
};
</script>
<script type="text/javascript" src="scripts/main.js"></script>

и далее в JS:

$.ajax({  
  url: "../updates/like.php",
  type: "POST",
  data : { "a": myGlobalObject.a, "b": myGlobalObject.row.name}
});

В любом случае обратите внимание на ссылку Алексея Шиманского в коментариях.

→ Ссылка