jQuery AJAX 乱码牵出的问题,及解决过程。
已完成 AJAX 输入验证 和 AJAX 数据管理器 。 在此基础上改为 jQuery 输入验证 和 jQuery 数据管理器 后,POST 方式提交出现乱码。 网上查的资料一边倒的说法是“在参数中添加 contentType: "application/x-www-form-urlencoded; charset=UTF-8" 项”,尝试发现无效。 初步调查发现: 原有的 form GET 、POST 提交例子无乱码。 原有的 URL 提交例子无乱码。 原有的 AJAX GET 、POST 提交例子无乱码。 jQuery AJAX GET 提交无乱码。 jQuery AJAX POST 提交有乱码。 经 Firebug 调试查得: jQuery 在 AJAX POST 时默认向 contentType 中添加了“charset=UTF-8”; 在服务器端用 request.getEncodingCharset() 取到“UTF-8”,得以证实。 jQuery 在 AJAX GET 时不发送“charset=UTF-8”; 在服务器端用 request.getEncodingCharset() 取到 null ,得以证实。 再查资料和检查程序,发现原有的 form 提交例子、URL 提交例子和 AJAX 例子并不发送“charset=UTF-8”; 在服务器端用 request