您的位置:首页 > 编程语言 > ASP

asp.net Ajax Post 请求一般处理程序

2015-03-19 16:33 579 查看
其实很早就开通博客园了,一直想写些有价值的东西,供自己以后查阅的同时,也可以帮助别人遇到此类问题时能有一个好的解决方法.但是由于各种原因,

就没有实施我的想法。今天突然很想写下一篇文章,不知道我的第一篇文章应该写些什么,那我就写一个最近做的一个小程序的一个知识点吧。

今天主要写ajaxpost提交到一般处理程序,一般处理程序接收到数据如何解析和处理的。其实在网上也看到了一些例子,但是总是会有这样那样的问题。所以

我把代码贴出来,希望能帮助到大家。

先将js代码贴出来

<scripttype="text/javascript">
functionsubmit(){
varform=document.getElementById("form1");
varobj={
CompanyName:form.CompanyName.value,
Customer:form.Customer.value,
MobilePhone:form.MobilePhone.value
}
if(obj.Customer.length<2){
alert("请输入姓名,不少于2个字符");
return;
}
if(obj.MobilePhone.length==0){
alert("请输入正确的手机号");
return;
}
//varjson={"RealName":obj.RealName,"phone":obj.phone,"CardID":obj.CID,"Unit":obj.Unit};
$.ajax({
url:"../Register.ashx?type=3",
type:"POST",
data:JSON.stringify(obj),//将对象转换成字符串传递到后台进行处理
success:function(res){
loading(false);
if(res=="注册成功"){
alert(res);
}else{
alert(res);
}
},
error:function(){
loading(false);
}
});

}
</script>


后台代码如下:

publicvoidProcessRequest(HttpContextcontext)
{
context.Response.ContentType="application/json;charset=utf-8";
stringtype=context.Request.QueryString["type"];
byte[]byts=newbyte[context.Request.InputStream.Length];
context.Request.InputStream.Read(byts,0,byts.Length);
stringstrfiled=System.Text.Encoding.UTF8.GetString(byts);
strfiled=context.Server.UrlDecode(strfiled);
Userresult=(User)JsonConvert.DeserializeObject(strfiled,typeof(user));
Jsonjson=newJson();
context.Response.Write("OK");

}


其中stringtype=context.Request.QueryString["type"];这一行代码是获取url中的参数type值得

byte[]byts=newbyte[context.Request.InputStream.Length];
context.Request.InputStream.Read(byts,0,byts.Length);
stringstrfiled=System.Text.Encoding.UTF8.GetString(byts);
strfiled=context.Server.UrlDecode(strfiled);
以上几行代码主要是获取ajax请求中的data参数的数据。

Userresult=(User)JsonConvert.DeserializeObject(strfiled,typeof(user));
这一行代码主要是将获取到的数据转换成相应的对象User实体类。其中JsonConvert这个类是需要引用Newtonsoft.Json.dll类库才可以使用。

注意:context.Response.Write(),如果返回的是对象,那么请将对象转换成字符串返回,并且ajaxdataType设置成"text"这样才能正确返回数据。
到这里就讲完了,这里只是简单的讲一下ajaxpost请求一般处理程序,一般处理程序是如何接收请求的数据的,很简单的一个例子,我从来都没有写过博客,可能写的不好,希望大家多多包涵,
也希望大家能为我提提意见,也希望我以后能写出更多有意义也很实用的文章。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: