如果请求的字符串包含引号,为什么encodeURIComponent不工作
Why encodeURIComponent not working if requested string contains quote?
以下是我们如何从aspx页面中的会话中获取用户公司名称
var Details = "AgentCompanyName=" + encodeURIComponent("<%=((Agent_Html5.AgentClassLib.clsAgentSession)Session["UserSession"]).strAgentCompanyName%>");
如果strAgentCompanyName
不包含引号(单引号、双引号),则上面的代码可以正常工作,但其中包含引号则不起作用。例如,如果代理公司名称提供为:David"Mike"Bela解决方案,则会将错误提示为Mike关键字附近的字符串不合适。
Details="AgentLastName=David"Mike"Bela solution"
如何处理单引号/双引号?
您需要在输出javascript之前转义双引号。因此它将是有效的语法。你应该使用这样的东西:
<%= yourValue.Replace("'"", "'''"") %>
此外,您还可以使用javascript使用更好的转义方式:
var Details = "AgentCompanyName=" + $("<div/>").text("<%=yourValue%>").html();
这样,您将在内存中创建DIV元素,将值设置为文本,并将get设置为转义HTML。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 为什么“;未定义的“;在JavaScript中结束循环
- 为什么这在IE中的工作方式与在Firefox中不同
- 知道为什么我的旋转木马不会自动更改图片吗
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 为什么在变形之前不缺少Fx
- 为什么JavaScript在for循环为3时向所有4发出警报
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 为什么Airbnb风格指南说不鼓励依赖函数名称推断
- 为什么要使用0>javascript中的0
- 为什么无法在TypeScript中导出类实例
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 为什么我的d3.jsselectAll+过滤器没有过滤
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 为什么忽略了eval()代码中的语法错误
- 为什么在画布上画线;t出现
- 为什么js事件消失了
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 为什么不'在JQuery中找到第二个css选择器的工作