后台webservice返回JSON,前台js用ajax调用
2014-12-09 21:33
615 查看
一、js将string转为json
http://blog.csdn.net/jjzjjz1/article/details/6334415
1、eg:
(1)webservice中的方法:
(2)js:
2、Ilist转化为json
(1)webservice中的方法:
(2)js:
http://blog.csdn.net/jjzjjz1/article/details/6334415
function jsontest() { //var testJson = "{ name: '小强', age: 16 }";(支持) //var testJson = "{ 'name': '小强', 'age': 16 }";(支持) var testJson = '{ "name": "小强", "age": 16 }'; alert(testJson); //testJson=eval(testJson);//错误的转换方式 testJson = eval("(" + testJson + ")"); alert(testJson); alert(testJson.name); }二、后台webservice返回JSON,前台js用ajax调用
1、eg:
(1)webservice中的方法:
/// <summary> /// 根据地区获取客运驾驶舱汇总数据 /// </summary> /// <param name="strAreaCode"></param> /// <returns></returns> [WebMethod] public static string GetPassengerCockpitByAreaCode(string strAreaCode, string strOrgId) { StringBuilder sb = new StringBuilder(); sb.Append("{"); //1.客运车辆运力 sb.Append("\"vehicle_num\": \"" + BaseBLLFactory.CreateService<JstmbsCacheService>().GetAreaPracPassengerSummaryByAreaCode(strAreaCode).Total + "\","); sb.Append("\"vehicle_seats\": \"2\","); sb.Append("}"); return sb.ToString(); }
(2)js:
//根据AreaCode获取获取数据 function getPassCockpitData(strAreaCode_Cockpit,strOrgId_Cockpit) { //数据切换 $.ajax({ type: "POST", //要用post方式 url: "../../Ajax/WebServiceDCHandler.aspx/GetPassengerCockpitByAreaCode", contentType: "application/json", data: '{"strAreaCode":"' + strAreaCode_Cockpit + '","strOrgId":"' + strOrgId_Cockpit + '"}', dataType: "json", success: function (data) { var cockpit_data = eval("(" + data.d + ")"); alert(cockpit_data.vehicle_num); alert(cockpit_data.vehicle_seats); }, error: function (err) { alert("获取【客运车辆数】数据出错!"); } }); }
2、Ilist转化为json
(1)webservice中的方法:
[WebMethod] public static string GetOwnerWithVehicleByOrgId(string strAreaCode, string strOrgId) { IList lstOwnerNumWithVehicleSum = BaseBLLFactory.CreateService<PassTransService>().GetOwnerWithVehicleByOrgId(strOrgId); StringBuilder sbJson = new StringBuilder(); sbJson.Append("{\"OwnerWithVehicle\":["); for (int i = 0; i < lstOwnerNumWithVehicleSum.Count; i++) { Object[] lstObj = (Object[])lstOwnerNumWithVehicleSum[i]; sbJson.Append("{"); sbJson.Append("\"statisticsTarget\":\"" + lstObj[1].ToString() + "\","); sbJson.Append("\"ownerTotalNum\":\"" + lstObj[3].ToString() + "\","); sbJson.Append("\"E100\":\"" + lstObj[4].ToString() + "\","); sbJson.Append("\"E50\":\"" + lstObj[5].ToString() + "\","); sbJson.Append("\"E10\":\"" + lstObj[6].ToString() + "\","); sbJson.Append("\"E0\":\"" + lstObj[7].ToString() + "\""); sbJson.Append("}"); if (i < lstOwnerNumWithVehicleSum.Count - 1) { sbJson.Append(","); } } sbJson.Append("]}"); return sbJson.ToString(); }
(2)js:
function GetPassOwnerWithVehicleData() { var strAreaCode = getAreaCodeCookie(); var strOrgId = getOrgIdCookie(); $.ajax({ type: "POST", //要用post方式 url: "../../Ajax/WebServiceDCHandler.aspx/GetOwnerWithVehicleByOrgId", contentType: "application/json", data: '{"strAreaCode":"' + strAreaCode + '","strOrgId":"' + strOrgId + '"}', dataType: "json", success: function (data) { var allData = eval("(" + data.d + ")"); var series_data = []; for (var i = 0; i < allData.OwnerWithVehicle.length; i++) { var dataTemp = []; dataTemp.push(parseFloat(allData.OwnerWithVehicle[i].E100)); dataTemp.push(parseFloat(allData.OwnerWithVehicle[i].E50)); dataTemp.push(parseFloat(allData.OwnerWithVehicle[i].E10)); dataTemp.push(parseFloat(allData.OwnerWithVehicle[i].E0)); series_data.push({ name: allData.OwnerWithVehicle[i].statisticsTarget, data: dataTemp }); } var xAxis_data = ["100辆及以上企业", "50~99辆企业", "10~49辆企业", "10辆以下企业"]; var yAxis_title = "户"; column3DCharts("#container", xAxis_data, yAxis_title, series_data) }, error: function (err) { alert("获得客运业户车辆拥有量分析数据出错!"); } }); }
相关文章推荐
- Asp.Net_Ajax调用WebService返回Json前台获取循环解析
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- ajax调用后台webservice返回JSON字符
- ajax请求数据,后台提供数据返回json, 前台js拼html,回填
- LigerUi-js中ajax前台调用后台Json格式转换!(已解决)
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- 不用AJAX实现前台JS调用后台C#方法(小技巧) 【改自Web.网际浪人.Blog】
- asp.net后台cs中的JSON格式变量在前台Js中调用方法!(前后台实例!)
- 不用AJAX实现前台JS调用后台C#方法(小技巧) 【改自Web.网际浪人.Blog】
- .net下不用AJAX实现前台JS调用后台C#方法
- 利用sender的Parent获取GridView中的当前行 不用AJAX实现前台JS调用后台C#方法(小技巧) AjaxControlToolkit的CalendarExtender的本地化
- 不用AJAX实现前台JS调用后台C#方法(小技巧) (转)
- ajax 前台js调用后台方法
- 不用AJAX实现前台JS调用后台C#方法
- AjaxPro.dll,asp.net 前台js调用后台方法(无刷新)
- asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)
- js 调用 ajax返回的json对象
- ajax 前台js调用后台方法
- 转:不用AJAX实现前台JS调用后台C#方法(小技巧)
- 不用AJAX实现前台JS调用后台C#方法(小技巧)