使用PHP';s$\u在JavaScript文件中发布值

使用PHP';s$\u在JavaScript文件中发布值,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我正在使用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'

我正在使用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 ']

});
$(函数(){
莫里斯线({
元素:“莫里斯折线图”,
数据:
[
{年份:'2015',a:},
{年份:'2016',a:},
{年份:'2017',a:},
],
xkey:‘年’,
ykeys:[a'],
标签:[“权益合伙人”]
});
为了获取PHP值,我在提交表单后使用了PHP的POST,并将其显示在JavaScript表数据上。但是,它在我的PHP输入中抛出了一个错误


所以基本上,我只想知道如何在JavaScript文件中输入PHP?

您可以使用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;
});

您可以使用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的预期数据,您需要使用将整个对象提供给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',
...
。。。
元素:“莫里斯折线图”,
数据:,
xkey:‘年’,
...

根据Morris.Line的预期数据,您需要使用将整个对象提供给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',
...
。。。
元素:“莫里斯折线图”,
数据:,
xkey:‘年’,
...

处理提交表单的文件/代码与Javascript之间的关系是什么?如果您重定向到包含Javascript的文件,您可以在查询字符串中发送您的值,并使用Javascript从中提取它们。一旦您离开处理表单的进程,这些POST值就不存在。如果有的话提供的解决方案中的一个对您有效,然后请接受它。@mega6382您好。我在这里尝试了所有可用的解决方案,但我可能只是缺乏操作给定代码使其对我有效的知识。相反,我是通过PHP完成的。@SimoneWalter确定,然后发布您的解决方案并接受它。文件/代码与t处理提交的表单和Javascript?如果您正在重定向到包含Javascript的文件,您可以在querystring中发送您的值,并使用Javascript从中提取。一旦您离开处理表单的流程,这些POST值就不存在。如果提供的任何解决方案对您有效,请接受它。@mega6382您好。我在这里尝试了所有可用的解决方案,但我可能只是不知道如何操作他们给定的代码,使其适用于我的。相反,我是通过PHP来完成的。@SimoneWalter好的,然后发布您的解决方案并接受它。我尝试了此方法,但仍然返回“未捕获的SyntaxError:意外标记”我再次尝试代码,但这次它没有显示错误LMAO我尝试过,但仍然返回“Uncaught SyntaxError:Unexpected token”我再次尝试代码,但这次它没有显示错误LMAO