日期:2014-05-16  浏览次数:20684 次

jquery Ajax提交与参数编码

直接使用ajax提交,当name参数中有中文时,需要使用encodeURIComponent()函数处理;在firefox下,不作处理也能正常,但在IE下就会乱码。

?

$.ajax({	
				  type: "GET",				  			  
				  url: url,
				  data:{
						
						"name":encodeURIComponent(name),
						"objectType":objectType,
						"command":command
					},
				  cache: false,
				  success: function(msg){	
		
				  }
				});

?

如果不使用jquery ajax,而直接提交到jsp页面,则需要对name再多做一层处理。

 escape(encodeURIComponent(name))
?

?

?

?

在响应请求的jsp页面,需要进行decode操作。

public String getParameter(String name) {
		String param = request.getParameter(name);
		if (param != null) {

			try {
				param = java.net.URLDecoder.decode(param, "utf-8");
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}

			return param;
		} else
			return null;
	}

?

java提供的url编码方法

java.net.URLEncoder.encode(String s, String enc) ;
?

?

?

?

?

?