Использовать значения PHP _POST PHP в файле JavaScript

Я использую Morris JS для отображения линейной диаграммы.

У меня есть файл JavaScript со статическими значениями

$(function() { Morris.Line({ element: 'morris-line-chart', data: [ { year: '2015', a: 20 }, { year: '2016', a: 25 }, { year: '2017', a: 40 }, ], xkey: 'year', ykeys: ['a'], labels: ['Equity Partners '] }); 

Я ожидал, что смогу сделать

 $(function() { Morris.Line({ element: 'morris-line-chart', data: [ { year: '2015', a: <?php echo $_POST["AmericanIndian_EP"]; ?> }, { year: '2016', a: <?php echo $_POST["AmericanIndian_A"]; ?> }, { year: '2017', a: <?php echo $_POST["AmericanIndian_C"]; ?> }, ], xkey: 'year', ykeys: ['a'], labels: ['Equity Partners '] }); 

для получения значений PHP я использовал POST PHP после отправки формы и отображения ее в данных таблицы JavaScript. Но это вызывает ошибку на входе PHP.

Итак, в основном, я просто хотел бы узнать, как я могу ввести PHP в свой файл JavaScript?

Вы можете отправить форму с помощью javascript

 $('#form').submit(function(){ $.ajax({ url: $('#form').attr('action'), type: 'POST', data : $('#form').serialize(), success: function(data){ // data here should have the new values for your chart console.log('form submitted.'); } }); return false; }); 

Согласно ожидаемым данным для Morris.Line , вам нужно использовать json_encode() для доставки всего объекта в javascript, чтобы все было автоматически экранировано для использования JS.

 ... element: 'morris-line-chart', data: <?php json_encode( [ ['year'=>'2015','a'=>$_POST["AmericanIndian_EP"]], ['year'=>'2016','a'=>$_POST["AmericanIndian_A"]], ['year'=>'2017','a'=>$_POST["AmericanIndian_C"]] ] ); ?>, xkey: 'year', ...