ajax向服务器端传值出现乱码问题

2022-11-19前端开发
167

AJAX传值时采用的是UTF-8编码格式,客户端中文字符传输到服务器端时,如果服务器编码格式或者所采用的MVC框架的编码格式不是UTF-8,则很可能会出现中文乱码。解决办法如下:
客户端用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) 前面三种客户端编码都可以用这个方法在后台解码。
The End
服务器 ajax 乱码问题

相关推荐

mui框架如何实现页面间传值
我的传值 listDetail = li class=mui-table-view-cell mui-mediaa href=aJaxDetail.html?+arrayobj[i].id+div class=mui-media-body+arrayobj[i].digest+/div/a/li; 在cell 的a链接中拼接上需要传送的数据+arrayobj[i].id+ 获取数据 mui.init(); mui.plusRead...
2024-12-20 前端开发
145

layui.table表格搜索重载
引入问题: 传统web更新页面用页面跳转的方式,现多用局部元素重载,提高用户体验。Ajax技术就是为了实现此功能而诞生的。layui框架在table模块中提供了类似的功能,为避免二次渲染,同时体验一下框架开发者的良苦用心,对layui.table重载进行探索。 表格重载...
2024-08-28 前端开发
223

前台js改变Session的值(用ajax实现)
要实现“前台js改变Session的值(用ajax实现)”,我们需要通过以下步骤来实现:...
2023-12-10 前端开发
67

javascript ajax类AJAXRequest2007-12-31 更新
JavaScript AJAX类AJAXRequest2007-12-31是一种用于发送AJAX请求的JavaScript类。使用AJAXRequest类可以实现在不刷新页面的情况下,通过后台服务器获取数据并动态更新网页的应用。...
2023-12-10 前端开发
1

SSM+layui前端form表单传到后端乱码问题解决
SSM+layui 前端form表单传到后端乱码问题解决 最近自己在做一些项目,然后遇到前端传值乱码的问题,上网搜了下解决方案都不是我想要的,而且也没什么实际性的效果,后来自己解决了.代码如下 if(roleVo.getRolename() !=null roleVo.getRolename() !=""){String na...
2022-11-19 前端开发
149

ajax向服务器端传值出现乱码问题
AJAX传值时采用的是UTF-8编码格式,客户端中文字符传输到服务器端时,如果服务器编码格式或者所采用的MVC框架的编码格式不是UTF-8,则很可能会出现中文乱码。解决办法如下: 客户端用js函数encodeURI()对中文字符进行两次编码,服务器端采用URLDecoder类对客...
2022-11-19 前端开发
167