在jsp中有个js函数
function t_submit(){
document.forms[0].action="userAction.do?method=find&name="+"<%=v_name%>";
document.forms[0].submit();
}
这里v_name,可能会带有英文双引号,所以会报错,但一直找不到解决办法,恳求大家帮忙。谢谢!
这样转码一下,
document.forms[0].action="userAction.do?"+ encodeURIComponent("method=find&name="+"<%=v_name%>");
这个就要你自己判断一下了
把特殊字符转换一下
不然url的确是会报错的
实在后台处理还是前台处理那就随你了
只是给你提供个思路
任何特殊字符编码也都可用此程序获得,如
"\"单反斜杠 %5C
"|" %7C
回车 %0D%0A
空格 %20
双引号 %22
"&" %26
下边这个网址你可以借鉴下,在后台处理替换
[url]http://heisetoufa.iteye.com/blog/312357[/url]
下边这个是前台的
[url]http://heisetoufa.iteye.com/blog/312354[/url]
为了测试方便你可以用alert(location.search);来查看你的url
或者用encodeURIComponent(URIstring)来转码
URIstring 必需是一个字符串,含有 URI 组件或其他要编码的文本。
返回值是URIstring的一个副本,其中的某些字符将被十六进制的转义序列进行替换。
需要注意的是该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
选用哪种
就看你个人需求了