electron 从webFrameMain发送时出错:错误:无法序列化参数

wbgh16ku  于 8个月前  发布在  Electron
关注(0)|答案(1)|浏览(317)


的数据
我正在使用electron和mongodb。当我使用ipcRenderer和ipcMain,并为我的数据库模型保存保存新数据时,我会得到这个错误。如果我在main.js中设置sandbox:true,这个错误将消失,但我将失去node.js和electron之间的连接,所以我不能设置sandbox:true。
下面是我的main.js代码:

const mongoose = require('mongoose');

const {  BrowserWindow, ipcMain } = require('electron')

const Task = require("./models/Task")

function createWindow() {
    const win = new BrowserWindow({
        width: 800,
        height: 700,
        webPreferences:{
           
            sandbox: false,
            nodeIntegration:true,
            contextIsolation: false,
        }
    })
    

    win.loadFile("src/index.html")
}

ipcMain.on("new-task",async (e,args) =>{
    const newTask = new Task(args)
    const taskSaved = await newTask.save()
    console.log(taskSaved)
    e.reply("new-task-created",taskSaved)
})
module.exports = {createWindow}

字符串
下面是我的app.js代码,我从ipcMain得到了回复:

const taskForm = document.querySelector("#taskForm")
const taskName = document.querySelector("#taskName")
const taskDescription = document.querySelector("#taskDescription")
const {ipcRenderer} = require("electron")
// const electron = require("electron")
// const ipc = electron.ipcRenderer

taskForm.addEventListener("submit",e=>{
    e.preventDefault();

    const task = {
        name: taskName.value,
        description: taskDescription.value
    }

    
  
    ipcRenderer.send("new-task",task)
    
    taskForm.reset() 
})

ipcRenderer.on("new-task-created",(e,args)=>{
    console.log(args)
})


目前数据出现在DB中,但我得到了这个错误。

oiopk7p5

oiopk7p51#

已解决,检查文档
我将数据转换为JSON。这是它的呈现方式。

相关问题