zoukankan      html  css  js  c++  java
  • 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!

  • 相关阅读:
    寒假作业 疫情统计(2/2)
    2020春 软工实践寒假作业(1/2)
    个人作业——软件工程实践总结&个人技术博客
    使用Angular HttpClient与后端通信
    个人作业——软件评测
    结对第二次作业——某次疫情统计可视化的实现
    寒假作业(2/2)
    NSArray
    NSDate和NSDateFormatter
    NSNumber和NSString
  • 原文地址:https://www.cnblogs.com/hjtdlx/p/3668174.html
Copyright © 2011-2022 走看看