You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展通知报错:message类型不匹配,如何展示后端数组数据?

解决Chrome通知无法正确展示Python后端返回的对象数组问题

chrome.notifications.create的message参数要求必须是字符串类型,直接传入对象数组或者调用默认的toString()方法,只会得到无意义的[object Object]——因为JavaScript对象的默认toString实现就是返回这个值。要正确展示后端数据,需要把对象数组转换成可读的字符串格式。

方案一:自定义格式化(推荐,更友好)

遍历后端返回的数组,将每个对象的属性提取出来,拼接成易读的文本:

// 假设从后端接口获取到的数据
const summaryData = await fetch('/get_summary').then(res => res.json());

// 格式化每个对象为字符串,多个对象用空行分隔
const formattedMessage = summaryData.map(item => {
  return `标题: ${item.Title}
作者: ${item.Author}
摘要: ${item.Sentences}`;
}).join('\n\n');

// 创建通知
chrome.notifications.create({
  type: 'basic',
  iconUrl: './icons/icon-48.png', // 替换为你的扩展图标路径
  title: '最新摘要',
  message: formattedMessage
});

方案二:JSON格式化(保留原始结构)

如果需要完整展示数据的结构,可以用JSON.stringify并添加缩进:

const summaryData = await fetch('/get_summary').then(res => res.json());
const formattedMessage = JSON.stringify(summaryData, null, 2);

chrome.notifications.create({
  type: 'basic',
  iconUrl: './icons/icon-48.png',
  title: '后端数据',
  message: formattedMessage
});

额外注意

  • 如果Sentences字段本身是数组,还可以进一步处理,比如用item.Sentences.join('\n- ')转换成带列表的格式
  • 确保扩展已申请notifications权限,在manifest.json中添加:
    "permissions": ["notifications"]
    

内容的提问来源于stack exchange,提问作者asim san

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 15:40:23