Axios和TypeError:“循环对象值”

时间:2018-12-19 07:51:30

标签: javascript reactjs pdf axios cyclic-reference

我一直在标题中看到错误,无法找出原因。

我非常痛苦地要求一次生成多个(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
} 

0 个答案:

没有答案