js获取表单数据

var modelObj = {};
                        var modelFieldsArray = $('#AddMusicCategory').serializeArray();
                        $.each(modelFieldsArray, function () {
                            modelObj[this.name] = this.value;
                        });
                        var modelStr = JSON.stringify(modelObj);
                        var requestModel = {};
                        requestModel.method = "MusicCategoryCreate";
                        requestModel.modelstr = modelStr;
                        $.ajax({
                            type: "POST",
                            url: "../../ServiceCenter/Handler/BlogMusicHandler.ashx",
                            dataType: "json",
                            data: requestModel,
                            success: function (rep) {
                                if (rep.code == 0) {
                                    layer.msg('保存成功', {
                                        time: 1000
                                    });
                                    layer.close(index);
                                    musicApp.musicCategoryMng.musicCategoryList();
                                }
                                else {
                                    console.log(rep.code + ":" + rep.msg);
                                }
                                
                            }
                        });

  

public class BlogMusicHandler : BaseHandler, IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";
            string method = context.Request["method"];
            switch (method)
            {
                case "MusicUpload":
                    this.MusicUpload(context);
                    break;
                case "MusicList":
                    this.MusicList(context);
                    break;
                case "MusicDelete":
                    this.MusicDelete(context);
                    break;
                case "MusicUpdate":
                    this.MusicUpdate(context);
                    break;
                case "MusicCategoryCreate":
                    this.MusicCategoryCreate(context);
                    break;
                case "MusicCategoryList":
                    this.MusicCategoryList(context);
                    break;
                case "MusicCategoryDelete":
                    this.MusicCategoryDelete(context);
                    break;
                case "MusicCategoryUpdate":
                    this.MusicCategoryUpdate(context);
                    break;
                case "MusicHomepage":
                    this.MusicHomepage(context);
                    break;
                default:
                    break;
            }

            context.Response.End();
        }

        private void MusicUpload(HttpContext context)
        {
            
        }

        private void MusicList(HttpContext context)
        {

        }

        private void MusicDelete(HttpContext context)
        {

        }
        private void MusicUpdate(HttpContext context)
        {

        }
        /// <summary>
        /// 新增音乐分类
        /// </summary>
        /// <param name="context"></param>
        private void MusicCategoryCreate(HttpContext context)
        {
            try
            {
                LogWriter.ToTrace("开始调用新增音乐分类服务接口");
                var strModel = context.Request.Params["modelstr"];
                var model= JsonConvert.DeserializeObject<MusicCategoryModel>(strModel);
                var content = new FormUrlEncodedContent(new Dictionary<string, string>()
                            {
                                {"Name",model.Name},
                                {"ImgUrl",model.ImgUrl },
                                {"SortNo", (model.SortNo??0).ToString()}
                                });
                HttpClient httpClient = GetUseHttpClient();
                var apiResponse = httpClient.PostAsync("api/Music/CreateCategory", content).Result;
                if (apiResponse.IsSuccessStatusCode)
                {
                    var result = new { code = 0, msg = "新增音乐分类成功", data = "" };
                    HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
                }
                else
                {
                    //webapi返回errcode errmsg
                    //104为远程webapi服务系统异常,否则为webapi服务业务异常
                    var receivedErrcode = apiResponse.Headers.GetValues("errcode");
                    var receivedErrmdg = apiResponse.Headers.GetValues("errmsg");
                    var errorCode = ((string[])receivedErrcode)[0];
                    var errorMsg = System.Web.HttpUtility.UrlDecode(((string[])receivedErrmdg)[0]);
                    if (errorCode == "104")
                    {
                        LogWriter.ToError("新增音乐分类服务接口响应结果异常(系统异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                    }
                    else
                    {
                        LogWriter.ToError("新增音乐分类服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                    }
                    var result = new { code = -1, msg = "新增音乐分类服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg, data = "" };
                    HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
                }
            }
            catch (Exception ex)
            {
                LogWriter.ToError("新增音乐分类内部错误:" + ex.Message, ex);
            }
            LogWriter.ToTrace("结束调用新增音乐分类服务接口");
        }

        private void MusicCategoryList(HttpContext context)
        {
            LogWriter.ToTrace("开始调用查询音乐分类列表服务接口");

            HttpClient httpClient = GetUseHttpClient();
            var apiResponse = httpClient.GetAsync("api/Music/CategoryList").Result;
            if (apiResponse.IsSuccessStatusCode)
            {
                var responseValue = apiResponse.Content.ReadAsStringAsync().Result;
                LogWriter.ToDebug("开始查询音乐分类列表->服务端返回数据:" + responseValue);
                LogWriter.ToDebug("开始解析数据");
                var serviceMusicCategoryModel = JsonConvert.DeserializeObject<List<MusicCategoryModel>>(responseValue);
                LogWriter.ToDebug("解析数据成功");
                var result = new { code = 0, msg = "获取数据成功", data = serviceMusicCategoryModel };
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));

            }
            else
            {
                //webapi返回errcode errmsg
                //104为远程webapi服务系统异常,否则为webapi服务业务异常
                var receivedErrcode = apiResponse.Headers.GetValues("errcode");
                var receivedErrmdg = apiResponse.Headers.GetValues("errmsg");
                var errorCode = ((string[])receivedErrcode)[0];
                var errorMsg = System.Web.HttpUtility.UrlDecode(((string[])receivedErrmdg)[0]);
                if (errorCode == "104")
                {
                    LogWriter.ToError("查询音乐分类列表服务接口响应结果异常(系统异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                }
                else
                {
                    LogWriter.ToError("查询音乐分类列表服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                }
                var result = new { code = -1, msg = "查询音乐分类列表服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg, data = "" };
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
            }
        }

        private void MusicCategoryDelete(HttpContext context)
        {
            try
            {
                LogWriter.ToTrace("开始调用删除音乐分类服务接口");
                var strModel = context.Request.Params["musicCategoryIds"];
                var content = new FormUrlEncodedContent(new Dictionary<string, string>()
                            {
                                {"musicCategoryIds",strModel}
                                });
                HttpClient httpClient = GetUseHttpClient();
                var apiResponse = httpClient.PostAsync("api/Music/DeleteCategory", content).Result;
                if (apiResponse.IsSuccessStatusCode)
                {
                    var result = new { code = 0, msg = "删除音乐分类成功", data = "" };
                    HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
                }
                else
                {
                    //webapi返回errcode errmsg
                    //104为远程webapi服务系统异常,否则为webapi服务业务异常
                    var receivedErrcode = apiResponse.Headers.GetValues("errcode");
                    var receivedErrmdg = apiResponse.Headers.GetValues("errmsg");
                    var errorCode = ((string[])receivedErrcode)[0];
                    var errorMsg = System.Web.HttpUtility.UrlDecode(((string[])receivedErrmdg)[0]);
                    if (errorCode == "104")
                    {
                        LogWriter.ToError("删除音乐分类服务接口响应结果异常(系统异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                    }
                    else
                    {
                        LogWriter.ToError("删除音乐分类服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                    }
                    var result = new { code = -1, msg = "删除音乐分类服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg, data = "" };
                    HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
                }
            }
            catch (Exception ex)
            {
                LogWriter.ToError("删除音乐分类内部错误:" + ex.Message, ex);
            }
            LogWriter.ToTrace("结束调用删除音乐分类服务接口");
        }
        private void MusicCategoryUpdate(HttpContext context)
        {

        }
        
        /// <param name="context"></param>
        private void MusicHomepage(HttpContext context)
        {
            LogWriter.ToTrace("开始调用获取圈子音乐主页服务接口");

            HttpClient httpClient = GetUseHttpClient();
            var apiResponse = httpClient.GetAsync("api/Music/Homepage").Result;
            if (apiResponse.IsSuccessStatusCode)
            {
                var responseValue = apiResponse.Content.ReadAsStringAsync().Result;
                LogWriter.ToDebug("开始获取圈子音乐主页->服务端返回数据:" + responseValue);
                LogWriter.ToDebug("开始解析数据");
                var serviceMusicHomepageResponse = JsonConvert.DeserializeObject<MusicHomepageResponse>(responseValue);
                LogWriter.ToDebug("解析数据成功");
                var result = new { code = 0,msg = "获取数据成功", data = serviceMusicHomepageResponse };
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));

            }
            else
            {
                //webapi返回errcode errmsg
                //104为远程webapi服务系统异常,否则为webapi服务业务异常
                var receivedErrcode = apiResponse.Headers.GetValues("errcode");
                var receivedErrmdg = apiResponse.Headers.GetValues("errmsg");
                var errorCode = ((string[])receivedErrcode)[0];
                var errorMsg = System.Web.HttpUtility.UrlDecode(((string[])receivedErrmdg)[0]);
                if (errorCode == "104")
                {
                    LogWriter.ToError("圈子音乐主页服务接口响应结果异常(系统异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                }
                else
                {
                    LogWriter.ToError("圈子音乐主页服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg);
                }
                var result = new { code = -1, msg = "圈子音乐主页服务接口响应结果异常(业务异常):[ERRCODE:" + errorCode + "]" + errorMsg, data = "" };
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(result));
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

  

public class BaseHandler
    {
        private static readonly Dictionary<string, HttpClient> HttpClients = new Dictionary<string, HttpClient>();
        private static readonly string circleRelationServiceName = "ZJCX.ZJX.CircleRelation.Service";
        private static readonly object HttpClientObj = new object();
        public static HttpClient GetUseHttpClient()
        {
#if !DEBUG
            string serviceUrl = ConfigHelper.GetBaseUrl(circleRelationServiceName);
#endif
#if DEBUG
            string serviceUrl = "10.250.3.197:9313";
#endif

            if (!HttpClients.ContainsKey(serviceUrl))
            {
                lock (HttpClientObj)
                {
                    if (!HttpClients.ContainsKey(serviceUrl))
                    {
                        string serviceBaseUrl = string.Format("http://{0}/", serviceUrl);
                        HttpClient client = new HttpClient();
                        client.BaseAddress = new Uri(serviceBaseUrl);
                        client.DefaultRequestHeaders.Connection.Add("keep-alive");
                        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        HttpClients.Add(serviceUrl, client);
                    }
                }
            }
            return HttpClients[serviceUrl];
        }
    }

  

猜你喜欢

转载自www.cnblogs.com/liuqiyun/p/9287354.html