作一个搜索器,在javascript里拼装sql,中间必须要把+传入sql里,但是在java后台打出来的sql总是把+号给用空格代替了,恨哪。望高手指点。
var sql="select FGroupID from t_groups where  patindex((select ffullnumber from t_groups where fgroupid="+ FGroupID.value +")+'%',ffullnumber)>0)";或var sql="select FGroupID from t_groups where  patindex((select ffullnumber from t_groups where fgroupid="+ FGroupID.value +")"+ "+" + "'%',ffullnumber)>0)";都不行。

解决方案 »

  1.   

    不知道为什么会这样,你可以把+在js这边写成特殊点的东西,接收过去在java里专一下呢
      

  2.   

    后面添加这么一句  sql = encodeURI(sql);
      

  3.   

    编码
    <script>
    sql = encodeURI(sql);
    </script>解码
    <%
    sql=new String(sql.getBytes("ISO8859_1"), "utf-8");
    %>
      

  4.   

    encodeURI 方法
    将文本字符串编码为一个有效的统一资源标识符 (URI)。encodeURI(URIString)必选的 URIString 参数代表一个已编码的 URI。说明
    encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。
    encodeURI 方法不会对下列字符进行编码:":"、"/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。