传500个中文到服务器端乱码问题解决

   传500个中文到服务器端乱码问题解决,挺有意思的东西,ajax传送默认是utf-8所以js就不设置编码了,注意点需要对&,+等一些特殊符号进行转码,可以用类似replace的方法进行转换。不过写replace进行转换可能有一点点疑惑,具体可以参考java的replace方法,呵呵。

function createXMLHttpRequest()
{
	var xmlHttp;
	if (window.ActiveXObject)
	{
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest)
	{
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}
function startRequest(url,parameters,callback)
{
	var xmlHttp = createXMLHttpRequest();
	try
	{
		xmlHttp.onreadystatechange = function()
		{
			if (xmlHttp.readyState == 4)
			{
				if (xmlHttp.status == 200 || xmlHttp.status == 0)
				{
					 text = xmlHttp.responseText;
					 callback(text);
				}
			}
		};
		xmlHttp.open("POST",url, true);
		xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  
		xmlHttp.send(parameters);
	} catch (exception)
	{
		alert("xmlHttp Fail");
	}
}
function replace(parameter) {
	var str = parameter.replace(/\&/g, 'and').replace(/\%/g, 'mod').replace(
			/\+/g, 'add');
	return str
}

function getValue(){
var value="我";
for(var i=0;i<501;i++){
  value=value+'我';
}
return value
}

function test()
{
 var url="AJAXDo.action";
 paremeters="type="+replace(getValue());
 startRequest(url,paremeters,callback);

}

function callback(text){
alert(text);
}
   
public class AjaxService extends BaseService
{
    
    private static final long serialVersionUID = 1L;
    
    public String test()
        throws Exception
    {
        String type = request.getParameter("type");
        response.setContentType("text/html charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        if (type == null)
        {
            response.getWriter().println("添加失败");
        }
        else
        {
            System.out.println(type);
            response.getWriter().println("添加成功"); 
        }
        
        return null;
    }
}
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值