AJAX传值时采用的是UTF-8编码格式,客户端中文字符传输到服务器端时,如果服务器编码格式或者所采用的MVC框架的编码格式不是UTF-8,则很可能会出现中文乱码。解决办法如下:AJAX传值时采用的是UTF-8编码格式,客户端中文字符传输到服务器端时,如果服务器编码格式或者所采用的MVC框架的编码格式不是UTF-8,则很可能会出现中文乱码。解决办法如下: 客户端用js函数encodeURI()对中文字符进行两次编码,服务器端采用UR
客户端用js函数encodeURI()对中文字符进行两次编码,服务器端采用URLDecoder类对客户端传输过来的中文字符进行UTF-8格式的解码。
客户端代码:
$.ajax({
type: "post",
url: "../?id=" + encodeURI(encodeURI($("张三风")),
success: function (msg) {
alert(msg);
}
});
$.ajax({
type: "post",
url: "createNewGroup.action",
data:"name="+encodeURI(encodeURI("张三")),
success: function(msg){
alert(msg);
}
});
服务器端对接收到的值进行解码Server.UrlDecode(),服务器端代码:
public string IsThisMemberName(string id) {
string name = Server.UrlDecode(id);
return name;
}
decodeURI 方法:返回一个已编码的统一资源标识符 (URI) 的非编码形式。function decodeURI(URIstring : String) : String
decodeURIComponent 方法:返回统一资源标识符 (URI) 的一个已编码组件的非编码形式。
function decodeURIComponent(encodedURIString : String) : String
BTW:C#中对URL编码的方法。。。
编码:Server.UrlEncode(string)
解码:Server.UrlDecode(string) 前面三种客户端编码都可以用这个方法在后台解码。
沃梦达教程
本文标题为:ajax向服务器端传值出现乱码问题
猜你喜欢
- jsPlumb+vue创建字段映射关系 2023-10-08
- 1 Vue - 简介 2023-10-08
- 关于 html:如何从 css 表中删除边距和填充 2022-09-21
- ajax实现输入提示效果 2023-02-14
- 深入浅析AjaxFileUpload实现单个文件的 Ajax 文件上传库 2022-12-15
- 基于CORS实现WebApi Ajax 跨域请求解决方法 2023-02-14
- layui数据表格以及传数据方式 2022-12-13
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08
- vue keep-alive 2023-10-08
- JS实现左侧菜单工具栏 2022-08-31