AJAX传中文参数乱码

JSP页面
调用 js函数,将中文字符进行编码:

function save(){  
str="";
$("input[name='para']").each(function(){
str+=";"+$(this).val();
});
var para= encodeURIComponent(str);
          jQuery.ajax({
                  url:"<%=request.getContextPath() %>/portlets/favorite/UpdateLinkAction.do?str="+para,
                  type:"post",
                  success: function() {
                  window.location.reload();
                  } 
   });
        }
HTML 代码:
<form id="contentForm" method="post" action="">
<table width="100%" border="0" cellpadding="4" cellspacing="1" bgcolor="#CBDAF7">
<c:forEach items="${requestScope.links}" var="links">
<tr>
<td bgcolor="#F7FBFF"><input name="index" value="${links.id}" type="hidden"></input></td>
<td bgcolor="#F7FBFF"><input name="para" value="${links.GROUP_ID}" type="hidden"></input></td>
<td bgcolor="#F7FBFF"><input name="para" value="${links.link_name}"></input></td>
<td bgcolor="#F7FBFF"><input name="para" value="${links.link_URL}"></input></td>
<td bgcolor="#F7FBFF"><input name="para" value="${links.id}#" type="hidden"></input></td>
<td bgcolor="#F7FBFF"><input name="deleL" value="删除" onclick="del(${links.id})" type="button"></input></td>
</tr>
</c:forEach>
</table>
</form>

JAVA代码 ,将参数进行解码处理

str = URLDecoder.decode(para, "GBK");





注释:本部分,解决Ajax传递中文参数的乱码问题。
依靠 JS 的JavaScript encodeURIComponent() 函数,可参考网站:http://www.w3school.com.cn/js/jsref_encodeURIComponent.asp



你可能感兴趣的:(JavaScript,jquery,Ajax,jsp,asp)