当前位置: 首页 > article >正文

thinkphp6出现 htmlentities() expects parameter 1 to be string, array given

为避免出现 XSS 安全问题, thinkphp6默认变量输出都会使用 htmlentities 方法进行转义
输出。

如果不想被转义输出,模板渲染时,需要在变量后面加上 raw方法,如:{$data|raw}

1、出现问题前的代码

PHP代码

$this->assign('list', $list);


前端代码
let data = "{$list}";

运行报错: htmlentities() expects parameter 1 to be string, array given

2、解决问题后的代码
  2.1  php代码 

# thinkphp 框架向前台输出变量, 转为 json 字符串
$this->assign('list', json_encode($list));
2.2 前端代码
// javascript,加上 `raw` 方法
let data = JSON.parse('{$list|raw}'); // 这样就被转化成一个对象

//循环
$.each(store_info , function(key , val){
	let name = val.name;
})


http://www.kler.cn/news/156624.html

相关文章:

  • 金融帝国实验室(Capitalism Lab)官方正版游戏『2023双12特卖』
  • 微信小程序uni.chooseImage()无效解决方案
  • C#/.NET/.NET Core优秀项目和框架2023年11月简报
  • prometheus部署及与grafana结合应用
  • 使用射线单击物体显示,点击物体隐藏
  • LD_PRELOAD劫持、ngixn临时文件、无需临时文件rce
  • 人机交互——言语信息表示模型
  • NetApp EF 系列全闪存存储,为实时分析、HPC 和数据库等性能敏感型工作负载提供助力
  • 数字孪生3D场景开发工具:弥补不足,开拓全新可能
  • Linux入门攻坚——7、磁盘管理——文件系统挂载管理及RAID、LVM
  • 学生犯错误老师应该怎么教育
  • colab notebook导出为PDF
  • C语言图书管理系统的代码,包括图书录入、查询、插入、修改和删除功能。
  • 奇迹mu 架设过程中可能会出现的问题及解决办法
  • 微机原理——定时器8253(8254)学习1
  • ROS第一个程序——helloworld
  • error转string
  • Linux 基础知识整理(一)
  • GEE:Sobel算子卷积
  • 第三届首都高校“青春智慧”新铁人三项公开赛圆满落幕
  • .NET8 依赖注入
  • docker搭建nginx实现负载均衡
  • Vue 或者 React 中,什么情况下会用 Es6 的 Class 类
  • 计算机基础知识63
  • AC自动机
  • 2024版软件测试面试100问(答案+文档)
  • 【苍穹外卖】——第一天
  • Docker快速入门(docker加速,镜像,容器,数据卷常见命令操作整理)
  • 基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
  • 如何进行卷积特征可视化