后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)

后端向前端页面发送变量,如果变量没有特殊字符,如英文的双引号等可以直接在前端使用

var value="<%=this.IsHuaMedicineAlertMsg.ToString().ToLower() %>"这种方式输送给前端,

但如果变量有特殊字符,如英文的双引号(一般是一段html片段,可能会包含样式等会有英文双引号),就不能用上面的方法了,

这时就需要后台把这个字符进行序列号再抛给前端来使用,这样也不用在前端再写接收后端变量的代码,

这样可行的原理是因为序列号时会把特殊字符进行特殊处理,这样前台就可以正常接收了。

具体如下:

后端:

/用各家公司的提示内容的KeyName查找资源文件下单内容,然后转成json抛给前台,因为提示内容是html片段,可能涉及到双引号等,所以需要转成json
var KeyName = EAPConsts.GetCompanyParameter(companyID, 385);
var AlertMsg = TCG.ESOP.Resources.MessageResource.ResourceManager.GetString(PlaceOrderAlertMsgKeyName);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xxxx", $"window.AlertContent={Newtonsoft.Json.JsonConvert.SerializeObject(AlertMsg)};", true);

前端直接使用window.AlertContent就好了,如:

var msg = window.AlertContent;

备注:Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "xxxx", $"window.AlertContent={Newtonsoft.Json.JsonConvert.SerializeObject(AlertMsg)};", true);

和Response.Write($"<script type=‘text/javascript‘>window.AlertContent={Newtonsoft.Json.JsonConvert.SerializeObject(AlertMsg)};</script>");是等效的。

原文地址:https://www.cnblogs.com/itjeff/p/10972743.html

时间: 2024-10-03 21:41:17

后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)的相关文章

用easyui从servlet传递json数据到前端页面的两种方法

用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stu

html-javascript前端页面刷新重载的方法汇总

记得我在兴安得力实习要转正的时候,我领导象征性的给我出了一套测试题目,里面就有js闭包和页面刷新等题目.今天把很久之前的测试题目之一,js页面刷新的方法以及页面自动刷新跳转和返回上一页和下一页等方法总结一下,仅供大家参考! 一.javascript页面刷新重载的方法: <a href="javascript:location.reload();">点击重新载入页面</a> <a href="javascript:history.go(0);&qu

php中超全局数组变量$_GET和$_POST以及单引号和双引号的区别

1,$_GET的传参是在地址栏明文显示的,$_POST是通过http主体请求,页面上看不到(通过firebug可以查看): 2,http并没有明确规定$_GET和$_POST所能提交的数据的限制,$_GET受浏览器和web服务器的相关设置,$_POST也受web服务器以及php.ini中的相关设置而定,$_GET一般提交数据的大小不超过2k: 3.从设定上来说$_GET一般用于获取或查询数据而进行传参,$_POST一般用于更新,插入,删除数据而进行传参,用$_POST提交数据相对于$_GET安全

onclick方法参数中有单引号、双引号、空格

onclick事件传参需要注意:当参数为字符串变量时,需要考虑到可能含有单引号.双引号.空格,如果不做处理,方法会报错 1.解决单引号问题 <c:set var="temp_param" value='${fn:replace(param,"\'","\\\\\'")}' /> <input onClick="doSomething('${temp_param}');" type="button&q

学习-【前端】-angularjs基本框架以及向服务器发送请求的方法

昨天写了个跨域的东西,自己琢磨了下,想到这种方式正好也是之前想的混合app如何交互服务器的解决办法.心里还是蛮开心的.今天又花时间把前端客户端部分的框架做了出来,整合的思路是参照node社区移动端的设计方案,把所有controllers和所有services放到一起,不过请求数据未用$resource也没有用原生的$http,而是使用了restangular,用完这个再把配置文件单独整合到一个文件夹里.整个框架看起来都十分的整洁了. 先给个结构图: 因为是由产品驱动的架构,所以最开始没有使用bo

前端页面展示MySQL数据并实现前后端互动

前端页面使用H-ui框架  后端使用flask框架  数据库使用mysql  连接数据库通过pymysql实现 前端代码如下 <html lang="en"> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta http-equiv=&quo

long型长整数字在前端页面显示异常及其解决方法

文章目录 1.引子 2.解决问题 (1)初试EL表达式取long型数值 (2)再探EL表达式取字符串格式long型数值 (3)最后一试---给EL表达式加引号 3.总结 1.引子 在做项目中,发现了一个诡异的事情,后台的long型数字不能正确地在前端页面显示.经过我的反复排查问题,总算是找到了问题原因所在,希望能帮助到大家,让大家少走弯路. 2.解决问题 (1)初试EL表达式取long型数值 后台java代码设置属性 1 BlogDetail currentBlog = pageModel.ge

后端设置cookie写不到前端页面

javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie("id",session.getId()); cookie.setPath("/"); cookie.setDomain(".kuangke.com"); cookie.setMaxAge(-1); response.addCookie(cookie); 如果存在注解@ResponseBody 则写不到前端页面,具体原

一次自动化发现攻击脚本且调用前端页面快速下发配置项目的随笔

一次自动化发现攻击脚本且调用前端页面快速下发配置项目的个人笔记,服务器脚本部分主要是根据syslog来发现攻击特征然后格式化输出到网页,做各种判断后通知且通过php手动(自动)下发配置,都是一些判断循环啥的,就不贴了. 这里主要是记一些制作前端html网页和后端php页面交互的一些有用的代码 html部分: <!DOCTYPE html> 声明是html5网页 <html></html>   html格式 <body></body> 可视化主体