asp.net Ajax Post 请求一般处理程序
其实很早就开通博客园了,一直想写些有价值的东西,供自己以后查阅的同时,也可以帮助别人遇到此类问题时能有一个好的解决方法.但是由于各种原因,
就没有实施我的想法。今天突然很想写下一篇文章,不知道我的第一篇文章应该写些什么,那我就写一个最近做的一个小程序的一个知识点吧。
今天主要写ajax post提交到一般处理程序,一般处理程序接收到数据如何解析和处理的。其实在网上也看到了一些例子,但是总是会有这样那样的问题。所以
我把代码贴出来,希望能帮助到大家。
先将js代码贴出来
- <script type="text/javascript">
- function submit() {
- var form = document.getElementById("form1");
- var obj = {
- CompanyName: form.CompanyName.value,
- Customer: form.Customer.value,
- MobilePhone: form.MobilePhone.value
- }
- if (obj.Customer.length < ) {
- alert("请输入姓名,不少于2个字符");
- return;
- }
- if (obj.MobilePhone.length == ) {
- alert("请输入正确的手机号");
- return;
- }
- //var json = { "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>
后台代码如下:
- 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, , 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请求一般处理程序,一般处理程序是如何接收请求的数据的,很简单的一个例子,我从来都没有写过博客,可能写的不好,希望大家多多包涵,
也希望大家能为我提提意见,也希望我以后能写出更多有意义也很实用的文章。
asp.net Ajax Post 请求一般处理程序的更多相关文章
- 在ASP.NET开始执行HTTP请求的处理程序之前
using Dscf.Client.Web.Class; using Dscf.Client.Web.DscfService; using Dscf.Client.Web.Handler; using ...
- iis 7 asp.net ajax post 请求字节过大报错问题解决办法
遇到一个ajax post 提交新闻资讯类的文章,报 {"Message":"There was an error processing the request.&quo ...
- http请求在asp.net中的请求过程
当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会 ...
- ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)
前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...
- asp.net——Ajax与ashx异步请求的简单案例
Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E ...
- ASP.NET运行机制之一般处理程序(ashx)
一. 概述 新建一个ashx文件 代码如下 <%@ WebHandler Language="C#" Class="TestHandler" %> ...
- asp.net ajax检查用户名是否存在代码
原文 asp.net ajax检查用户名是否存在代码 用户注册时,我们经常需要检查用户名是否存在,本文就是实现无刷新验证用户名 打开开发环境VS 2005,新建项目(或打开现有项目),新建一个Web ...
- ASP.NET AJAX简明教程
当我们谈论Ajax时,首先想到的就是JavaScript下的Ajax,用来完成网页的交互,局部刷新工作,Microsoft的ASP.NET AJAX框架在Web的开发中承担着类似的角色,并简化了Ja ...
- ASP.NET AJAX应用
ASP.NET AJAX能够快速地创建具有丰富的用户体验的页面,而且这些页面由可靠和熟悉的用户接口元素组成,包括一个能快速响应的用户体验和熟悉的用户元素. 使用ASP.NET AJAX,可以改善We ...
随机推荐
- 【转】Java 内存模型及GC原理
一个优秀Java程序员,必须了解Java内存模型.GC工作原理,以及如何优化GC的性能.与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率,才能 ...
- 一行代码搞定Adapter
15年Google I/O大会发不了三个重要支持库 >Material design (Android Support Design) >百分比布局:Percent support lib ...
- lua与C/C++交互
Lua设计小巧很容易与C/C++进行交互,下面我们具体讲解C/C++中如何调用lua,而lua中又如何调用C代码. 首先lua和C交互的一个重要的数据结构lua_State,它是进行数据交换的堆栈,按 ...
- lihgtoj 1006
记忆化搜索下即可. #include<cstdio> #include<string> #include<cstring> #include<iostream ...
- Appium 小白从零安装 ,Appium连接真机测试。
以下是我个人在初次安装使用Appium时的过程,过程中遇到了一些问题,在这里也一一给出解决办法. Appium安装过程 先安装了 Node.js.在node的官网上下载的exe安装文件. 在node的 ...
- Code First to an Existing Database
Code First to an Existing Database https://msdn.microsoft.com/en-us/data/jj200620 https://weblogs.as ...
- 远程连接centos
yum install tigervnc yum install tigervnc-server Windows 7下载客户端 tigervnc-1.2.0.exe,在http://sourcef ...
- oracle rac 学习(转载)
一. RAC 并发 RAC 的本质是一个数据库,运行在多台计算机上的数据库,它的主要任务是数据库就是事务处理,它通过 Distributed Lock Management(DLM:分布式锁管理器) ...
- bzoj 2434 [Noi2011]阿狸的打字机(fail树+离线处理+BIT)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2434 [题意] 按照一定规则生成n个字符串,回答若干个询问:(x,y),问第x个字符串 ...
- Tutorial: Getting Started with SignalR (C#) -摘自网络
Overview This tutorial introduces SignalR development by showing how to build a simple browser-based ...