当前位置: 代码迷 >> Ajax >> 根本的json
  详细解决方案

根本的json

热度:342   发布时间:2013-08-14 14:27:55.0
基本的json
比如我后台有几个string要传到前台的页面显示出来,或我前台有几个var要传到后台,应该怎么写??(用json,代码简单一点,直接贴代码,谢了)

------解决方案--------------------
输出json格式的字符串就行了,客户端通过ajax.responseText获取到返回的内容,eval下内容就得到json对象了

s='{name:"showbo",age:123}'//这里你可以通过ajax来获取
o=eval('('+s+')')
alert(o.name+'\n'+o.age)


发往服务器端干嘛发json格式的字符串,直接发键值对字符串就行了,发json格式的字符串,服务前需要用json类库反序列化为对应语言的类什么的,参考:Json.NET
------解决方案--------------------
 var param = jQuery.param({ sql: sqlSite });
            jQuery.ajax({
                type: "post",
                url: "/Ajax/MapSite.ashx",
                async: false,
                data: param,
                success: function (data, textStatus) {}});
传给后台
后台获取: string sql = context.Request.Form["sql"].ToString();

后台传给前台: System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(IList<DEMapSite>));
            MemoryStream ms = new MemoryStream();
            ser.WriteObject(ms, list_DESite);
            string jsonString = Encoding.UTF8.GetString(ms.ToArray());
            ms.Close();
            //context.Response.Write(sb.ToString());
            context.Response.Clear();
            context.Response.ContentType = "application/json";
            context.Response.Write(jsonString);
  相关解决方案