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

Posted itjeff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)相关的知识,希望对你有一定的参考价值。

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

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>");是等效的。

 

以上是关于后端向前端页面发送变量的方法,可以包含特殊字符(如英文双引号)的主要内容,如果未能解决你的问题,请参考以下文章

Ajax——后端向前端传数据

后端向前端推送消息

将客户端 Json 下载为 CSV

如何从后端向用户本地主机上的另一台服务器发出请求

Spring特殊字符处理

Django模板层