• springMVC中使用ajax传递json数组


    解决方法

    去www.json.org下载JSON2.js
    再调用JSON.stringify(JSONData)将JSON对象转化为JSON串。

    var people = [{ "UserName": "t1", "PassWord": "111111", "Sex": "男" }, { "UserName": "t2", "PassWord": "222222", "Sex": "女"}];

    再构造URL回传给服务器端:
    $("#btnSend").bind("click", function() {
    $.post("a.ashx", {xxxx:JSON.stringify(people)}, function(data, returnstatus) { }, "json");
    });

    function customerCheck() {
                        selectRows = $("#ui_customerCheck_dg").datagrid('getSelections');
                        
                        var jsonData = JSON.stringify(selectRows);
                        console.info(jsonData);
    
                        if (selectRows.length > 0) {
                            console.info(selectRows);
                           
                            $.ajax({
                                url: 'ashx/bg_customerCheck.ashx?action=checkedPass',
                                data: { "selectRows": jsonData },
                                dataType: 'html',
                                success: function (rData) {
                                    var dataJson = eval('(' + rData + ')');    //转成json格式
                                    if (dataJson.success) {
                                        $.show_warning("提示", dataJson.msg);
                                        $("#ui_customerCheck_dg").datagrid("reload").datagrid('clearSelections').datagrid('clearChecked');
                                    } else {
                                        $.show_warning("提示", dataJson.msg);
                                    }
                                }
                            });
                        }
                        else {
                            $.show_warning("提示", "请选择需要审核的单据!");
                            return;
                        }
                        //console.info(selectRows);
                        //$("#ui_customerCheck_dg").datagrid('unselectAll');
    
                    }
    
    using System;
    using System.Collections.Generic;
    using System.Web;
    using LT.EPC.BLL;
    using LT.EPC.Common;
    using LT.EPC.Model;
    using LT.EPC.SQLServerDAL;
    
    namespace LT.EPC.WebUI.admin.ashx
    {
        /// <summary>
        /// bg_customerCheck 的摘要说明
        /// </summary>
        public class bg_customerCheck : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "application/json";
                string action = context.Request.Params["action"];
                UserOperateLogDataContract userOperateLog = null;   //操作日志对象
                try
                {
                    UserDataContract user = UserHelper.GetUser(context); //获取cookie里的用户对象
                    userOperateLog = new UserOperateLogDataContract();
                    userOperateLog.UserIp = CommonHelper.GetIP(context.Request.UserHostAddress);
                    userOperateLog.UserName = user.UserId;
    
                    switch (action)
                    {
                        case "checkedPass":
                            var selectRowsJson = context.Request.Params["selectRows"] ?? "";
    
                            List<UserDataContract> userList = DeserializeUserList(selectRowsJson);
    
                            List<CustomerCheckDataContract> checkList = DeserializeCheckList(selectRowsJson);
    
                            if (new CustomerCheckMgr().ChangeOrderStatus(checkList))
                            {
                                userOperateLog.OperateInfo = "客服审核";
                                userOperateLog.IfSuccess = true;
                                userOperateLog.Description = "审核通过" + null;
                                context.Response.Write("{"msg":"审核通过!","success":true}");
                            }
                            else
                            {
                                userOperateLog.OperateInfo = "客服审核";
                                userOperateLog.IfSuccess = false;
                                userOperateLog.Description = "客服审核失败";
                                context.Response.Write("{"msg":"客服审核失败!","success":false}");
                            }
    
                            UserOperateLogMgr.InsertOperateInfo(userOperateLog);
                            break;
    
                        default:
                            context.Response.Write("{"result":"参数错误!","success":false}");
                            break;
                    }
                }
                catch (Exception ex)
                {
                    context.Response.Write("{"msg":"" + JsonHelper.StringFilter(ex.Message) + "","success":false}");
                    userOperateLog.OperateInfo = "客服审核功能异常";
                    userOperateLog.IfSuccess = false;
                    userOperateLog.Description = JsonHelper.StringFilter(ex.Message);
                    UserOperateLogMgr.InsertOperateInfo(userOperateLog);
                }
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
    
            //直接将Json转化为实体对象
            public List<UserDataContract> DeserializeUserList(string json)
            {
                var u = JsonHelper.FromJson<List<UserDataContract>>(json);
                return u;
            }
    
            //直接将Json转化为实体对象
            public List<CustomerCheckDataContract> DeserializeCheckList(string json)
            {
                var o = JsonHelper.FromJson<List<CustomerCheckDataContract>>(json);
                return o;
            }
        }
    }
    
  • 相关阅读:
    mysql调优
    面试、。。。。
    StringBuffer 和 StringBuilder 的 3 个区别
    msql查询指定日期
    Windows 路由跟踪
    Xdebug配置
    ONVIF流媒体播放流程
    Windows 8 SP1 安装StockTrader 6.1
    使用log4c问题
    xcode插件安装
  • 原文地址:https://www.cnblogs.com/gjmfg/p/5483822.html
Copyright © 2020-2023  润新知