使用axios将JS变量发送到PHP mpdf文件

问题描述

我正在尝试使用axios将一些变量发送到PHP文件,该文件使用mpdf使用页面显示的某些数据生成PDF。我的axios.get看起来像这样:

axios.get('generatepdf.PHP',{
    params: {
        a: jsVariable1,b: jsVariable2,c: jsVariable3,d: jsVariable4,e: jsVariable5,f: jsVariable6
    }
});

然后在我的PHP文件中,它看起来像这样:

<?PHP

require_once __DIR__ . '/vendor/autoload.PHP';

// grab variables from JS
$a= $_GET['a'];
$b= $_GET['b'];
$c= $_GET['c'];
$d= $_GET['d'];
$e= $_GET['e'];
$f= $_GET['f'];

// create new PDF instance
$mpdf = new \Mpdf\Mpdf();


$data = '';

$data .= '<strong>a:</strong> ' . $a . '<br>';
$data .= '<strong>b:</strong> ' . $b . '<br>';
$data .= '<strong>c:</strong> ' . $c . '<br>';
$data .= '<strong>d:</strong> ' . $d . '<br>';
$data .= '<strong>e:</strong> ' . $e . '<br>';
$data .= '<strong>f:</strong> ' . $f . '<br>';

// write PDF
$mpdf->WriteHTML($data);

// output to browser
$mpdf->Output('file.pdf','D');

exit;
?>

我正在JavaScript的HTML中使用onclick事件。之前我已经使用Vue使它工作,但是我不确定我在做什么错。这里的目标是使用来自我的JavaScript的数据生成PDF。

解决方法

抱歉,让这样一个旧线程复活了,但这是我的第一个 Vue.js 和 PHP 项目,我试图弄清楚如何让事情工作。我早就完成了。

我不确定我提供了足够的信息来完全允许其他人提出解决方案(我使用 Vue.js 和数据成员),但我的 jsVariables 是类成员而不是变量。问题是我忘记了 this 关键字。

params: {
    a: this.classMember1,b: this.classMember2,c: this.classMember3,d: this.classMember4,e: this.classMember5,f: this.classMember6
}

指定 this 非常重要,因为它与类的数据成员而非非类变量相关。