我一直在标题中看到错误,无法找出原因。
我非常痛苦地要求一次生成多个(5-10)pdf文件,然后将所有文件发送到我的服务器。
当我单击按钮时,它将触发此for循环,该循环将行和列作为数组生成。要发送到jsPDF
uploadMultipleContracts = (e) => {
let pdf = []
const columns = [
{ title: 'Date', dataKey: 'date' },
{ title: 'User', dataKey: 'user' },
....
]
const rows = []
for (let i = 0; i < this.state.multipleDetailContract.length; i += 1) {
rows.push({
date: this.state.multipleDetailContract[i].date,
user: this.state.multipleDetailContract[i].user,
....
})
if(e.target.name === "save"){
pdf.push(this.sendMultiPDF(columns, rows));
}
}
console.log(pdf)
this.pdfSender(pdf)
};
然后,我们将返回值(来自this.sendMultiPDF(columns, rows)
的pdf文件)推入pdf的let pdf = []
数组中
之后,console.log()
将打印选定的PDF文件数组,看起来就像您期望的那样,数组中有5-10个对象,都看起来像是正确的PDF。
然后我们将该数组集发送到其中包含axios的this.pdfSender(pdf)
pdfSender = (data) => {
axios.post(`${process.env.API_URL + process.env.API_PORT}api/test`,
data,
{
responseType: 'arraybuffer',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/pdf'
}
})
.then(function () {
console.log('SUCCESS!!');
})
.catch(function (error) {
console.log(error);
})
};
但是pdfSender将捕获并抛出错误TypeError: "cyclic object value"
google所做的全部只是对对象引用自身的解释。我不知道,还是不知道情况如何。
multipleDetailContract:
{
"contractid" : "xxxx",
"user" : "xxxxxx",
"date" : 12-03-18,
"hasUpperLimit" : "true",
"alert" : null,
"fees" : yyyyy
}