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

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

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

今天主要写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请求一般处理程序,一般处理程序是如何接收请求的数据的,很简单的一个例子,我从来都没有写过博客,可能写的不好,希望大家多多包涵,也希望大家能为我提提意见,也希望我以后能写出更多有意义也很实用的文章。
 
时间: 2024-07-31 23:43:53

asp.net Ajax Post 请求一般处理程序的相关文章

在ASP.NET开始执行HTTP请求的处理程序之前

using Dscf.Client.Web.Class; using Dscf.Client.Web.DscfService; using Dscf.Client.Web.Handler; using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Web; using System.Web.SessionState; namespace Ds

Ajax异步请求一般处理程序(List)返回Json数据

简单实现了通过jQuery的Ajax函数异步请求一般处理程序,数据由list模拟,返回json格式的数据. index.html: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="js/jquery.min.js" type="text/javasc

ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)

前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普通的ajax请求差不多,没有深入了解:出现了这种错误,几经调试(检查后台的代码和js部分的属性设置)还是不行,让我感觉很是意外和不解.于是,决定仔细研究下ajax jsonp的使用,并将最后测试成功的学习经验和大家分享下! 首先,贴出可以成功执行的代码: (页面部分) <!DOCTYPE html

javascript ajax请求(一般处理程序)

<script type="text/javascript"> var xmlHttp = null; function create() { //创建ajax技术核心对象XmlHttpRequest if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else xmlHttp = new XMLHttpRequest(); } function sum(

ASP.NET运行机制之一般处理程序(ashx)

一. 概述 新建一个ashx文件  代码如下 <%@ WebHandler Language="C#" Class="TestHandler" %> using System; using System.Web; public class TestHandler : IHttpHandler { //dd public void ProcessRequest (HttpContext context) { context.Response.Content

Comet ASP.NET AJAX 示例

最近公司有个项目,里面要求要用到Comet技术,所以就到网上找了一下相关的资料和文章,发现有些人说用Ajax的长轮询比较好,后来就百度了一下,发现comet貌似就是通过ajax演变而来的,也就是comet是ajax里面的一种,只不过有多种实现方式,下面我来贴一个经过自己修改后的代码,最后也会贴一个我在博客园上看到的一篇文章的地址,我的代码是通过他的文章所受到的启发修改的,感谢他. 前台: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi

详解ASP.NET MVC的请求生命周期

本文的目的旨在详细描述asp.net mvc请求从开始到结束的每一个过程. 我希望能理解在浏览器输入url并敲击回车来请求一个asp.net mvc网站的页面之后发生的任何事情. 为什么需要关心这些?有两个原因.首先是因为asp.net mvc是一个扩展性非常强的框架.例如,我们可以插入不同的viewengine来控制网站内容呈现的方式.我们还可以定义控制器生成和分配到某个请求的 方式.因为我想发掘任何asp.net mvc页面请求的扩展点,所以我要来探究请求过程中的一些步骤. 其次,如果你对测

Asp.Net WebApi Post请求整理(一)

Asp.Net WebApi+JQuery Ajax的Get请求整理 一.总结 1.WebApi 默认支持Post提交处理,返回的结果为json对象,前台不需要手动反序列化处理.2.WebApi 接收Post提交参数需要指定([FromBody] string name)3.WebApi 中如果只接收一个基础类型参数,不能指定key的名称4.WebApi Post请求Action只能接收一个参数,也就是说一个Action中[FromBody]仅可指定一次5.WebApi Post请求处理多个参数

MVC&amp;WebFomr对照学习:ajax异步请求

写在前面:由于工作需要,本人刚接触asp.net mvc,虽然webform的项目干过几个.但是也不是很精通.抛开asp.net webform和asp.net mvc的各自优劣和诸多差异先不说.我认为虽然mvc和webform有诸多不同,但是也只是为了达到相同的目的而在各自的机制下采取了不同的手段而已.更何况它们都是基于asp.net框架的.因此在解决mvc开发过程中的问题时,我很容易联想到在webform下同样的问题是如何解决的.以此来作为对照.我姑且把这种方法叫做迁移学习法吧.我以"小孩之