1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Ajax 通过post提交数据到一般处理程序 后台快速获取数据的方法

Ajax 通过post提交数据到一般处理程序 后台快速获取数据的方法

时间:2021-09-08 17:14:11

相关推荐

Ajax 通过post提交数据到一般处理程序 后台快速获取数据的方法

1.通过serialize()方式传递json数据

注意:前端html表单 name值应该为后台类中的字段名称 例如:<input name="S_类字段名称" type='text' id="S_类字段名称" />

1.1 js

var x = encodeURI(jQuery("#xmfs input,select,textarea").serialize());jQuery.ajax({type: "POST",url: "../Handler/zHandler.ashx?Action=AddRew",data: x,success: function (datad) {alert("提交成功!");},dataType: "json"});

js serialize()

1.2 cs通过类获取post提交的数据

L_CPROJECT project = new L_CPROJECT();Type Pproject = project.GetType();GetFormValue(project, Pproject);//处理附件问题

1.3 GetFormValue 方法

private void GetFormValue(object project, Type Pproject){foreach (string item in con.Request.Form.AllKeys){PropertyInfo cons = Pproject.GetProperty(item.Replace("S_", ""));//表单内的input等的name值命名规范为S_类字段名if (cons != null){var valtype = cons.PropertyType;//判断convertsionType是否为nullable泛型类if (valtype.IsGenericType && valtype.GetGenericTypeDefinition().Equals(typeof(Nullable<>))) {//如果type为nullable类,声明一个NullableConverter类,该类提供从Nullable类到基础基元类型的转换 ponentModel.NullableConverter nullableConverter = new ponentModel.NullableConverter(valtype);//将type转换为nullable对的基础基元类型 valtype = nullableConverter.UnderlyingType;}string text = HttpUtility.UrlDecode(Request.Form[item].Trim());cons.SetValue(project, Convert.ChangeType(text, valtype), null);}}}

获取传递值

2.通过JSON.stringify(data) 多条数据传递

注意:arr.push({ SUBID: doc.attr("su"), PURID: 12, SU: doc.val(),SU:12 })中的每个name与L_CSECTION类中的字段名称对应

js:JSON.stringify(arr)

var arr = new Array();jQuery(".new").each(function (index, link) {var doc = jQuery(this).find(".thisid");arr.push({ SUBID: doc.attr("su"), PURID: 12, SU: doc.val(),SU:12 });});jQuery.ajax({type: "POST",url: "../Handler/zProjndler.ashx?Action=AddSUBPACKAGE",data: JSON.stringify(arr),success: function (datas) {},dataType: "json"});

JSON.stringify(arr)

cs

var sr = new StreamReader(Request.InputStream);var stream = sr.ReadToEnd();List<L_CSECTION> _list = jsonHelp.getObjectByJson<L_CSECTION>(stream);for (int i = 0; i < _list.Count; i++){//对数据进行操作}

jsonHelp

public static class jsonHelp{internal static List<T> getObjectByJson<T>(string jsonString){// 实例化DataContractJsonSerializer对象,需要待序列化的对象类型DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List<T>));//把Json传入内存流中保存MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));// 使用ReadObject方法反序列化成对象object ob = serializer.ReadObject(stream);List<T> ls = (List<T>)ob;return ls;}}

将json数据转换为object对象

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。