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

Posted

技术标签:

【中文标题】使用 axios 将 JS 变量发送到 PHP mpdf 文件【英文标题】:Using axios to send JS variables to PHP mpdf file 【发布时间】:2020-09-18 16:26:56 【问题描述】:

我正在尝试使用 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。

【问题讨论】:

欢迎来到 SO!乍一看,这看起来应该可以工作。您在使用此代码时遇到的错误或问题是什么?感谢您的澄清。 【参考方案1】:

抱歉,复活了这样一个旧线程,但这是我的第一个 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 非常重要,因为它与类的数据成员而不是非类变量相关。

【讨论】:

以上是关于使用 axios 将 JS 变量发送到 PHP mpdf 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何检索由axios post请求发送的php中的变量[重复]

使用 Axios 将数据从 Vue.js 传递到 PHP

Vue JS Axios Post 请求向 PHP 发送 Null

将多个变量从 JS 发送到 PHP

使用 Axios 将对象从 React.js 发布到 PHP

如何使用 js 或 axios 将表单数据中的 url 作为文件发送