【发布时间】:2020-03-10 02:48:47
【问题描述】:
我希望通过 TCPDF 通过 ajax 创建 PDF 文件。一切正常,PDF 保存在服务器中我将 URL 传递给我的 HTML
$responseArray = array('id' => 'Success', 'message1' => 'Hello', 'message2' => '/pdfgen/genpdf/'.$filetitle.'.pdf');
$encoded = json_encode($responseArray); echo $encoded;
然后我得到重定向。问题是虽然我的浏览器控制台选项卡显示 PHP 发送的内容是
{"id":"Success","message1":"Hello","message2":"/pdfgen/genpdf/1703419677.pdf"}
返回 HTML 文件,我无法将 URL 分配给变量。
它只是打印 undefined。
$.ajax({
type: 'POST',
url: "path to php",
data: ({mob: mob}),
dataType: 'json',
}).done(function(data) {
console.log(data);
var id = data.id;
var message1 = data.message1;
var message2 = data.message2;
});
【问题讨论】:
-
您将值作为数据返回,并尝试分配为 response.id。使用数据更改响应:var id = data.id
-
你必须像这样设置标题: header('Content-Type: application/json');并且JS文件有错误,你必须使用data.id而不是response.id
-
您的回调有参数
data,但您尝试使用response?? -
@Sfili_81 都是响应,但我在试错过程中更改为数据。我现在统一了它,仍然是同样的问题。
-
@RaminRezazadeh 我尝试设置标头,但后来我遇到了另一个问题,说您无法再次发送标头,因为 TCPDF 通过静态文件发送标头