zoukankan      html  css  js  c++  java
  • C#前后端操作json数据

    一、前端代码:

    function initDeptSelect() {
                var datas = {"plant":$('#plantSelect').val()}; //获取某个组件的值,以json格式形式存放
                var jsonVal = JSON.stringify(datas);//将值转化为json对象,必须要做
                $.ajax({
                    type: 'post',                          //请求方式
                    url: 'Upload.aspx/initDeptSelect',     //请求地址
                    data: jsonVal,                         //发送的数据,这里是json对象
                    dataType: 'json',                      //数据类型
                    contentType: 'application/json;charset=utf-8',
                    async: true,                             //开启异步请求
                    success: function (data) {               //请求成功,后台处理结束后的函数执行
                        var $select = $("#deptSelect");
                        var jsonObject = $.parseJSON(data.d);     //将返回的数据解释为一个数组,data是后台函数的返回值,返回到前端的时候,会多变成{d:"[xxx,xx,xx]"}
                        $.each(jsonObject, function (key, value) {
                            var $option = $('<option></option>');
                            $option.attr('value', jsonObject[key]);
                            $option.text(jsonObject[key]);
                            $select.append($option);
                        });
                        $('#deptSelect').selectpicker('refresh');
                        $('#deptSelect').selectpicker('render');
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        alert("Failed to get Dept Informations.");
                        alert(XMLHttpRequest.responseText);
                        alert(XMLHttpRequest.status);
                        alert(XMLHttpRequest.readyState);
                        alert(textStatus); // parser error;
                    }
                });
            }

    二、后台代码

    这里用WinForm,跟MVC稍微有点区别:WinForm是在方法上面用[WebMethod]声明,而MVC是用[HttpPost]声明

    [WebMethod]
            public static string initDeptSelect(string plant)//后台获取json:plant的值,参数个数要与传递的一致,否则,ajax请求失败
            {
                
                List<string> deptList = new List<string>();
                
                deptList.Add("hello");
                deptList.Add("world");
            //使用JsonConvert.SerializeObject(List list)最为方便;或者使用字符串拼接的形式,如拼接成{xxx:xxx,xx:xx}的字符串,然后返回
                return JsonConvert.SerializeObject(deptList);
            }    
  • 相关阅读:
    POJ 3169 Layout(差分约束+链式前向星+SPFA)
    HDU 2680 Choose the best route(SPFA)
    PAT L2-016 愿天下有情人都是失散多年的兄妹(深搜)
    PAT L2-013 红色警报(并查集求连通子图)
    PAT L2-014 列车调度(最长上升nlogn)
    PAT L3-010 是否完全二叉搜索树(二叉搜索树)
    HRBUST 2310 Tree Painting(无向图欧拉路径的性质)
    POJ 2230 Watchcow(有向图欧拉回路)
    UVa 10054 The Necklace(无向图欧拉回路)
    UVa 1600 Patrol Robot(三维广搜)
  • 原文地址:https://www.cnblogs.com/SysoCjs/p/9933675.html
Copyright © 2011-2022 走看看