前端接收后台返回的“true”和 true
正月十五辛丑年 牛庚寅月 乙巳日
菜菜的我记录的第二天
前提条件为:如果后台返回的flag值是放在map里面并且是String值时,需谨慎处理,例:
后台伪代码:
@RequestMapping(value = "/printSave") @ResponseBody public String printSave(HttpServletRequest request,HttpServletResponse response) { Map<String,String> flagMap = new HashMap<>(); String saveFlag = "true"; flagMap.put("saveFlag",saveFlag); return JSONObject.toJSONString(flagMap); }
前端js伪代码,第一种(可成功):
$.ajax({ url:contextPath + "/ppp/printSave", //后台处理程序 type:'post', //数据发送方式 data:params, success : function(Data) {//回调方法,可单独定义 if (Data != null) { var saveFlag= Data['saveFlag']; if (saveFlag == "true") { alert("导出成功,可下载!"); makeButtonUse(); } else{ alert("导出失败,请重新操作!"); }
前端js伪代码,第二种(可成功):
$.ajax({ url:contextPath + "/ppp/printSave", //后台处理程序 type:'post', //数据发送方式 data:params, success : function(Data) {//回调方法,可单独定义 if (Data != null) { if (Data['saveFlag']) { alert("导出成功,可下载!"); makeButtonUse(); } else{ alert("导出失败,请重新操作!"); }
前端js代码错误示范:
$.ajax({ url:contextPath + "/ppp/printSave", //后台处理程序 type:'post', //数据发送方式 data:params, success : function(Data) {//回调方法,可单独定义 if (Data != null) { var saveFlag= Data['saveFlag']; if (saveFlag) { alert("导出成功,可下载!"); makeButtonUse(); } else{ alert("导出失败,请重新操作!"); }
具体原因分析:
错误代码原因分析:
var saveFlag= Data['saveFlag']; 得到的是String类型的"true",但if里面只能是boolean值,所以错误
正确代码原因分析:
第一种:
var saveFlag= Data['saveFlag']; 得到的是String类型的"true",等号逻辑运算【saveFlag == "true"】得到的是boolean值,所以能正常运行。
第二种:未分析出原因
{
不明白为什么 Data['saveFlag'] 的值为boolean类型的,明明后台传送过来的是String类型呀
好吧,第二种运行正确的原因还没分析出,有知道的大佬欢迎评论区补充一下,让我这个小菜鸡也好好学习一番
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix