这是我的ajax电话:
function callServer()
{
alert('before : ' +uncompressed64Data.length);
var compressed = LZString.compressToUTF16(uncompressed64Data);
alert('after : ' +compressed.length);
debugger;
jQuery.ajax({
url : "/RegisterServlet_2/servlet/Register",
type : "POST",
data: "img="+compressed,
cache : false,
async : false,
success : function()
{
},
error : function()
{
}
});
}
我在尝试错误地收到错误时收到以下错误:
字符解码失败。参数[img]的值为[Ảããå¥å?¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ä??à©?má¹?â?“被忽略了。请注意,由于解码失败,此处引用的名称和值可能已损坏。使用调试级别日志记录查看原始的,未损坏的值。
据透露, 1.我已经提到了html文件utf8的标题 2.server.xml提到
URIEncoding="UTF-8"
3.提到服务方,
request.setCharacterEncoding("utf-8");
请注意我不需要任何编码,我只想获取我发送的数据。
提前致谢。
答案 0 :(得分:1)
我认为由Content-Type引起的问题,默认情况下jquery使用application/x-www-form-urlencoded; charset=UTF-8
。尝试将其设置为text/plain
或multipart/form-data
。这是documentation。