Content-type在http请求头中表示的是媒体类型
乱码原因
媒体类型(MIME):application/x-www-form-urlencoded
ajax发起post请求,浏览器也不会对数据做任何的编码,而Servlet后台设置的请求编码为utf-8
因此出现了中文乱码的情况
解决
设置 Content-Type 为"application/x-www-form-urlencoded;charset=UTF-8";
指定了编码格式为UTF-8
URL编码
使用get方式提交数据时,数据会包含在URL中,浏览器会根据当前页面的编码(meta标签中设置的charset)对其进行编码
而当使用post方式提交数据时,由于数据并不包含在URL中,所以浏览器并不会对其进行编码,但是我们可以在ContentType属性中指定MIME类型和编码格式
Content-Type="application/x-www-form-urlencoded;charset=UTF-8";