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];
}
}
js获取表单数据的更多相关文章
- Servlet的5种方式实现表单提交(注册小功能),后台获取表单数据
用servlet实现一个注册的小功能 ,后台获取数据. 注册页面: 注册页面代码 : <!DOCTYPE html> <html> <head> <meta ...
- ASP.NET MVC 获取表单数据
public class Person { public string Name{get;set;} public string Phone{get;set;} } view层 @model Mode ...
- 1.3(学习笔记)Servlet获取表单数据
一.Servlet获取表单数据 表单提交数据经由Servlet处理,返回一个处理结果显示在页面上, 那么如何获取表单提交的参数进出相应的处理呢? 主要用到以下方法: String getParame ...
- JS获取表单元素的value
<!-- 1.option selected属性,如果我们在下拉列表里面选择了一个option那么他的selected="true" ,如果我们想设置当前的option是选中 ...
- JSP简单练习-获取表单数据
在JSP中,server端程序与client交互最经常使用的方法就是採用表单提交数据.表单提交的方法主要有两种,一种是get方法.还有一种是post方法.两者最大的差别:使用get方法提交的数据会显示 ...
- JS--轻松设置获取表单数据
接触过Angularjs的都知道,ng支持双向绑定,我们可以轻轻松松的通过ngModel将我们的值绑定到界面,当修改了值提交表单的时候不需要再重新通过ID去重新抓取输入框信息了.那对于我们开发前台网站 ...
- php学习笔记-获取表单数据
在网页上经常要填写用户名和密码,点击确认按纽之后,用户名和密码经过前端处理之后发送到了服务器上,那么服务器端怎么获取到这些用户提交的数据呢?就是通过超级全局变量 _POST和_GET 先拿_POST做 ...
- Servlet 响应 响应相关与重定向 请求 获取表单数据2种方法
一.HttpServletResponse (响应) 包括下面三个: 1.响应消息行 HTTP/1.1 200 OK 200是HTTP状态码, 代表请求已成功. (查httpservletres ...
- FromData获取表单数据
一般想要不刷新页面提交数据时,可以使用ajax提交.如果数据量不大可以自己写json数据用ajax提交到后台服务,但是数据量多且需要动态添加数据时,自己写json格式数据就有点麻烦了,这时候就需要Fo ...
随机推荐
- Appium安装过程
Appium安装过程 先安装了 Node.js.在node的官网上下载的exe安装文件. 在node的command line中执行 npm install -g appium 来安装appium,报 ...
- 转:sock_ev——linux平台socket事件框架(event loop) .
上一篇我们封装了三种事件监听方式,如果分别提供给客户端使用,有点不方便,也不利于统一管理:我们再封装一层EventLoop. /************************************ ...
- 【CI3.1】CI框架简单使用方法
CI框架简单使用方法 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中的方法 ...
- curl命令常用参数
-a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -anyauth 可以使用“任何”身份验证方法 -b/--c ...
- Android异步任务处理框架AsyncTask源代码分析
[转载请注明出处:http://blog.csdn.net/feiduclear_up CSDN 废墟的树] 引言 在平时项目开发中难免会遇到异步耗时的任务(比方最常见的网络请求).遇到这样的问题.我 ...
- AutoFac文档11(转载)
目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 元数据 Autofac ...
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof
JVM性能调优监控工具jps.jstack.jmap.jhat.jstat.hprof
- [svc]influxdb+grafana实战-各省份api访问成功率统计
简单说下需求: 统计各个省份的 3大运营商的接口访问成功率,绘图展示 数据格式 {"mobile" : "15812345608", "provinc ...
- 【ecshop后台详解】系统设置-商店设置
商店设置是我们ecshop新用户第一步先要设置的地方,因为里面相当于网站的基础.包括公司名称,电话,地址,tittle等重要的信息都是这里修改,如果这里没有修改的话,如果有访客来到你网站可能以为走错了 ...
- sphider 丁廷臣简体中文完美汉化版带蜘蛛搜索引擎程序 v1.3.4
sphider 丁廷臣简体中文完美汉化版带蜘蛛搜索引擎程序 v1.3.4是最官方的新版,免费开源,用官方最新发布原版汉化.未更改任何内核文件. Sphider 是一个完美的带有蜘蛛的搜索引擎程序. S ...