js jquery利用ajax访问后台乱码问题
当利用js或者jquery的ajax发送数据乱码问题。(
笔者编码方式选为GBK)
1、若数据以
get方式发送 (数据以?a=a&b=b&c=c....连接在url尾部发送)
只要进行如下转码即可。
name = new String(name.getBytes("ISO-8859-1"), "GBK");
2、若数据以
post方式发送。
js方式:
request.open("post","url", true);
request.send("name=" + name);
需要在send之前进行编码
//这里要两次
name= encodeURIComponent(name);
name= encodeURIComponent(name);
后台接收参数时要解码即可
name= URLDecoder.decode(name, "UTF-8");这里一定是UTF-8(js编码规定)
jquery方式: 与js稍有不同。
//这里只要1次
name= encodeURIComponent(name);