JQuery向ashx提交中文参数方案
来源:互联网 发布:sql2000数据库 编辑:程序博客网 时间:2024/06/05 09:40
字符编码这个东西,一旦和中文打上交道就不可避免出现乱码,今天项目用到了JQuery向ashx提交中文参数的这一块,折腾了一天,开始是各种乱码,最后中算弄好了。
客户端:
//异步获取数据var tpAction=action+'getSearch.ashx?key='+encodeURIComponent('中国'); $.getJSON(tpAction,function(rsp){//请求成功 if(rsp.status=='1'){var list=rsp.item;var len=list.length; if(len==0){//没有数据直接返回 setNull();return; } //组装数据 var s=zy_tmpl(templ,list,len); $list.append(s); }else{ alert('','加载数据失败,请重试','确定'); } },'json',function(err){//请求失败 alert('','加载失败,请检查网络设置!','确定'); },'POST','');
服务器端:
string keyy = context.Request["key"]; if (keyy != null) { string key = HttpUtility.UrlDecode(context.Request["key"].ToString()); //string key = context.Server.HtmlDecode(context.Request.Params["key"].ToString()); string log = "getSearch.ashx?key=" + key; string logsql = "insert into logs(createtime,contents) values('" + DateTime.Now.ToString() + "','" + log + "')"; Sqlbase.ExecuteNonQuery(CommandType.Text, logsql, null); //more string sql = "select * from news where title like '%" + key + "%' order by id desc"; DataTable dt = Sqlbase.ExecuteTable(CommandType.Text, sql, null); result rs = new result(); rs.status = 1; rs.msg = "成功"; rs.item = dt; string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(rs); context.Response.Clear(); context.Response.ContentEncoding = Encoding.UTF8; context.Response.ContentType = "application/json"; context.Response.Write(strJson); context.Response.Flush(); context.Response.End(); }
这里根本就没有进行什么编码设置,其实就是JS用encodeURIComponent()对中文字符串编码,C#用HttpUtility.UrlDecode(context.Request["key"].ToString())进行解码,是不是很简单呢!可是我一天的实践证明:JS端用encodeURIComponent()要比escape()好多了,至于区别大家可以google一下,C#的解码函数也一堆,像什么Server.UrlDecode之类的,但是推荐使用HttpUtility.UrlDecode(),好处大家同样也可以google!
- JQuery向ashx提交中文参数方案
- jquery向.ashx文件post中文乱码问题的解决方法
- 【转】jquery的ajax向ashx传值,中文乱码问题
- $.get 向 ashx 传参数
- jquery ajax提交,参数中文乱码问题
- 向数据库提交请求参数为中文时找不到结果
- 解决jQuery Ajax提交中文参数变成乱码的方法
- 解决jQuery Ajax提交中文参数变成乱码的方法
- 关于JQuery.ajax提交url中文参数乱码
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- 页面编码为GBK时 jquery 提交ajax数据完美解决中文乱码方案
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- ASP.NET给ASHX文件传递中文参数
- ashx jQuery $.post()方法中文不会出现乱码
- jquery的post数据,ashx出现中文乱码 最终 解决方案
- Jquery Ajax ashx DataTable 传参 获取参数 C#
- Ajax带中文参数提交
- 中文参数乱码问题解决方案
- 在工作中学习
- Dijkstra算法
- 系统架构师书籍推荐
- 有关tomcat的日志文件(一)
- 利用Altium Design将图片转化为PCB【做自己的PCB LOGO】
- JQuery向ashx提交中文参数方案
- srand()以及rand()函数用法
- android网络判断(wifi、3G)
- Dojo+MVC 之旅1 HelloWorld
- Hadoop环境搭建——单节点篇
- spotlight用来监控mysql性能
- linux信号量编程
- SqlDbx 连接mysql 数据库
- mysqldump常用命令