当前位置: 首页 > news >正文

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));
Json json = new Json(); 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类库才可以使用。

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

转载于:https://www.cnblogs.com/liuchunhe/p/4350759.html

相关文章:

  • 我的博客开通了!
  • ASP.NET MVC3默认提供了11种ActionResult的实现
  • 实现GetHashCode时要遵循的规则
  • 贪心+模拟 Codeforces Round #288 (Div. 2) C. Anya and Ghosts
  • 用linqPad帮助你快速学习LINQ
  • Cacti监控Tomcatserver实现过程
  • C++ 多继承与虚基类
  • Set集合
  • Solr4.7从数据库导数据
  • 【转】 Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作
  • hdu 2335 Containers
  • Druid Indexing 服务
  • iOS7中弹簧式列表的制作
  • python实现虚拟茶话会
  • IE6|IE7中li底部3px间距BUG
  • [LeetCode] Wiggle Sort
  • 230. Kth Smallest Element in a BST
  • 4. 路由到控制器 - Laravel从零开始教程
  • Android框架之Volley
  • Angular 4.x 动态创建组件
  • docker python 配置
  • go append函数以及写入
  • IP路由与转发
  • Java多态
  • js算法-归并排序(merge_sort)
  • k8s如何管理Pod
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • web标准化(下)
  • 每天10道Java面试题,跟我走,offer有!
  • 使用权重正则化较少模型过拟合
  • 数据科学 第 3 章 11 字符串处理
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • RDS-Mysql 物理备份恢复到本地数据库上
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 从如何停掉 Promise 链说起
  • 移动端高清、多屏适配方案
  • ​iOS实时查看App运行日志
  • # include “ “ 和 # include < >两者的区别
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (3)llvm ir转换过程
  • (31)对象的克隆
  • (AngularJS)Angular 控制器之间通信初探
  • (C)一些题4
  • (Python第六天)文件处理
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (十八)SpringBoot之发送QQ邮件
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ***通过什么方式***网吧
  • .Net 6.0 处理跨域的方式
  • .NET 8.0 发布到 IIS
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值