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

這些小問題出現了不止一次,自己卻沒什麼印象,白費了時間在上面,所以記下來,沒事看下,謹記謹記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章