标签:
其实很早就开通博客园了,一直想写些有价值的东西,供自己以后查阅的同时,也可以帮助别人遇到此类问题时能有一个好的解决方法.但是由于各种原因,
就没有实施我的想法。今天突然很想写下一篇文章,不知道我的第一篇文章应该写些什么,那我就写一个最近做的一个小程序的一个知识点吧。
今天主要写ajax post提交到一般处理程序,一般处理程序接收到数据如何解析和处理的。其实在网上也看到了一些例子,但是总是会有这样那样的问题。所以
我把代码贴出来,希望能帮助到大家。
先将js代码贴出来
1 <script type="text/javascript"> 2 function submit() { 3 var form = document.getElementById("form1"); 4 var obj = { 5 CompanyName: form.CompanyName.value, 6 Customer: form.Customer.value, 7 MobilePhone: form.MobilePhone.value 8 } 9 if (obj.Customer.length < 2) { 10 alert("请输入姓名,不少于2个字符"); 11 return; 12 } 13 if (obj.MobilePhone.length == 0) { 14 alert("请输入正确的手机号"); 15 return; 16 } 17 //var json = { "RealName": obj.RealName, "phone": obj.phone, "CardID": obj.CID, "Unit": obj.Unit }; 18 $.ajax({ 19 url: "../Register.ashx?type=3", 20 type: "POST", 21 data: JSON.stringify(obj),//将对象转换成字符串传递到后台进行处理 22 success: function (res) { 23 loading(false); 24 if (res == "注册成功") { 25 alert(res); 26 } else { 27 alert(res); 28 } 29 }, 30 error: function () { 31 loading(false); 32 } 33 }); 34 35 } 36 </script>
后台代码如下:
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json; charset=utf-8"; string type= context.Request.QueryString["type"]; byte[] byts = new byte[context.Request.InputStream.Length]; context.Request.InputStream.Read(byts, 0, byts.Length); string strfiled = System.Text.Encoding.UTF8.GetString(byts); strfiled = context.Server.UrlDecode(strfiled); User result = (User)JsonConvert.DeserializeObject(strfiled, typeof(user)); context.Response.Write("OK"); }
其中string type= context.Request.QueryString["type"]; 这一行代码是获取url中的参数type值得
byte[] byts = new byte[context.Request.InputStream.Length]; context.Request.InputStream.Read(byts, 0, byts.Length); string strfiled = System.Text.Encoding.UTF8.GetString(byts); strfiled = context.Server.UrlDecode(strfiled);
以上几行代码主要是获取ajax请求中的data参数的数据。
User result = (User)JsonConvert.DeserializeObject(strfiled, typeof(user));
这一行代码主要是将获取到的数据转换成相应的对象User实体类。 其中JsonConvert这个类是需要引用Newtonsoft.Json.dll类库才可以使用。
到这里就讲完了,这里只是简单的讲一下ajax post请求一般处理程序,一般处理程序是如何接收请求的数据的,很简单的一个例子,我从来都没有写过博客,可能写的不好,希望大家多多包涵,
也希望大家能为我提提意见,也希望我以后能写出更多有意义也很实用的文章。
标签:
原文地址:http://www.cnblogs.com/liuchunhe/p/4350759.html