首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

根本的json

2013-08-14 
基本的json比如我后台有几个string要传到前台的页面显示出来,或我前台有几个var要传到后台,应该怎么写??(

基本的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);


            context.Response.End();
然后在前台用eval(data)转一下就可以用了
[解决办法]
首先你要知道josn 的格式, 是以"," 逗号  分割的。所以 代码如下:
前台:

 $.ajax({
 type:"post",//post方式
dataType : "json",//json类型
url:"<%=request.getContextPath()%>/传入后台的路径,
success : function(data) {
var option = "";
$("#ddlCity").empty();
},
});

后台:

try {
 //执行Ajax 进行向前台  回传
 HttpServletResponse response=ServletActionContext.getResponse();  
  response.setContentType("text/html;charset=utf-8"); 
  PrintWriter out = response.getWriter();
 //通过josn 方式  回传
  JSONArray json = new JSONArray().fromObject(listCity);
  out.print(json);
}
catch (Exception e) {
e.printStackTrace();
}
return null;



热点排行