JQuery向ashx提交中文参数方案

 

客户端:

使用 encodeURIComponent('中文') 进行编码 

//异步获取数据
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','');

  

服务器端:

使用 HttpUtility.UrlDecode(context.Request["key"].ToString()) 进行解码

        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();
        }

  

文章转载:http://blog.csdn.net/wangqiuyun/article/details/8450964

 

扩展:

1.escape()、encodeURI()、encodeURIComponent()区别详解

 

2.Server.UrlEncode、HttpUtility.UrlDecode的区别

 

posted @ 2015-06-08 09:43  linyongqin  阅读(149)  评论(0)    收藏  举报