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向服务器端传值出现乱码问题
基础教程推荐
猜你喜欢
- 使用HTML5中postMessage知识点解决Ajax中POST跨域问题 2022-10-17
- vue在install时node-sass@4.14.1 postinstall:node scripts/build.js错误解决 2023-07-09
- Ajax实现简单下拉选项效果【推荐】 2022-12-28
- ajax异步加载图片实例分析 2022-12-18
- html网页中使用希腊字母的方法 2022-09-21
- AJAX实现数据的增删改查操作详解【java后台】 2023-02-23
- JavaScript开发简单易懂的Svelte实现原理详解 2023-08-12
- JavaScript函数this指向问题详解 2023-08-12
- 【vue】三种获取input值的写法 2023-10-08
- Ajax实现关键字联想和自动补全功能及遇到坑 2023-02-23
