js提交文本内容,无法提交到服务器问题解决和js替换字符串问题

其实就是带有html标签元素的内容无法提交到服务器的问题(asp.net,别的咱不清楚),当然知道“跨站脚本攻击”的,遇到这个问题不奇怪,但对于类似我这样的新手,可能还纳闷呢。。

不是个大问题,但自己遇到过两次,第二次竟然一点印象都没有,上网查了才恍然大悟。

解决方法:手动替换掉html标签或添加ValidateRequest="false"(此方法不建议,不安全),  http://blog.csdn.net/imagse/article/details/3095085

// 将输入字符串编码,这样所有的HTML标签都失效了。 
StringBuilder sb = new StringBuilder( 
HttpUtility.HtmlEncode(htmlInputTxt.Text)); 
// 然后我们选择性的允许<b> 和 <i> 
sb.Replace("&lt;b&gt;", "<b>"); 
sb.Replace("&lt;/b&gt;", ""); 
sb.Replace("&lt;i&gt;", "<i>"); 
sb.Replace("&lt;/i&gt;", ""); 
Response.Write(sb.ToString()); 

到这里又出现自己犯了不止一次的错误,jquery的“Replace”只能替换文本中第一次出现的相应字符,也就是一行这样的代码就替换了一处

解决方法:使用正则表达式解决  http://www.jiaonan.tv/html/blog/1/29207.htm

这些小问题出现了不止一次,自己却没什么印象,白费了时间在上面,所以记下来,没事看下,谨记谨记。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值