jquery+ajax 的 data参数设置的内容,如何在HttpHandler的HttpContext中取得(包括post方式和get方式)
2012-02-28 17:42
615 查看
2012年2月28日 于新城科技园
jquery+ajax 的 data参数设置的内容,如何在HttpHandler的HttpContext中取得(包括post方式和get方式)
比如 :
注意:要引用两个jquery的包,一个是jquery-1.6.2.js 和 jquery.json.js 都直接在 网上下载就可以了。
对于get方式,或许大家早就已经有了答案,那就是从 HttpContext的 Request.QueryString中取得。
但是,如果数据传递方式是 post 呢? 这样从Request.QueryString中 是肯定取不到数据的。怎么办?
我写了一个比较通用的方法,兼容post 和 get 。
1, 上面的代码并不是一个完整的一套httphandler, 还有web.config之类的东西,都省略掉了。
上面的代码只是一个示例,告诉你怎么去做。
2, 如果项目中,只需要post方式的话,就不要那么复杂了。 data里面的内容就不需要编码和解码这么麻烦了。这一点注意一下。
最后得到的结果: (post 和 get一样)
jquery+ajax 的 data参数设置的内容,如何在HttpHandler的HttpContext中取得(包括post方式和get方式)
比如 :
注意:要引用两个jquery的包,一个是jquery-1.6.2.js 和 jquery.json.js 都直接在 网上下载就可以了。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="./js/jquery-1.6.2.js"></script> <script src="./js/jquery.json.js"></script> <title>JSON数据的取得</title> <script> $(function(){ $.ajax ({ // 下面的各个参数的设置,用法,请参照 http://api.jquery.com/jQuery.ajax/ // 当然还有其他的很多参数了,具体用法不一一列举了。 url : "MyJsonHandler/student.json", // JSON数据的地址 type: 'get', // 数据传送方式 dataType: 'json', // 数据类型 data: $.toJSON({"school" :encodeURIComponent("南京大学")}), // 如果取得json数据之前,需要传递参数的话,可以使用data,个人理解:data就相当于一个parameter。 contentType: 'application/json', // 返回结果为成功 success : function( data, textStatus,jqXHR ) { $("#showarea").html(data.school); }, // 返回结果为失败 error : function(jqXHR, textStatus, errorThrown) { alert('error'); } }); }); </script> </head> <body> <section id="showarea"> </section> </body> </html>
对于get方式,或许大家早就已经有了答案,那就是从 HttpContext的 Request.QueryString中取得。
但是,如果数据传递方式是 post 呢? 这样从Request.QueryString中 是肯定取不到数据的。怎么办?
我写了一个比较通用的方法,兼容post 和 get 。
using System; using System.Collections.Generic; using System.Text; using System.Web; using System.IO; namespace MyHandlers { public class MyJsonHandler : IHttpHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { // Post方式下,取得client端传过来的数据 if ("post".Equals(context.Request.HttpMethod.ToLower())) { StreamReader reader = new StreamReader(context.Request.InputStream); string json = HttpUtility.UrlDecode(reader.ReadToEnd()); context.Response.Write(json); } // Get方式下,取得client端传过来的数据 else { // 注意,这个是需要解码的 string json = HttpUtility.UrlDecode(context.Request.QueryString.ToString()); context.Response.Write(json); } } } }
1, 上面的代码并不是一个完整的一套httphandler, 还有web.config之类的东西,都省略掉了。
上面的代码只是一个示例,告诉你怎么去做。
2, 如果项目中,只需要post方式的话,就不要那么复杂了。 data里面的内容就不需要编码和解码这么麻烦了。这一点注意一下。
最后得到的结果: (post 和 get一样)
相关文章推荐
- jquery+ajax 的 data参数设置的内容,如何在HttpHandler的HttpContext中取得(包括post方式和get方式)
- HTTP AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- jquery ajax post 方式 data中以json形式并且定义的是拼接好的字符串变量
- 原始ajax通过xmlHttpRequest对象的send()方法提交数据--Get方式和Post方式
- [转]AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- json格式数据取得2- 通过httphandler,从server侧取得 (jquery+ajax实现)
- Ajax-(get/post/jQuery方式请求)
- 对于携带请求参数的HttpGet与的HttpPost两种请求方式,代码段分析
- jQuery AJAX Call for posting data to ASP.Net page ( not Get but POST)
- Vue------第五天(Vue的Ajax请求,使用Axios,目前熟悉了一下,主要包括GET请求、POST请求、并发请求、请求参数的配置、服务器响应的结构以及对服务器响应错误的简单处理)
- jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
- AJAX中POST与GET二种方式区别及如何实现
- JQuery加载外部文件的方式get、post、ajax、load的区别及异步加载的实现
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- jquery的get方式的ajax方法带参数的那种会出现获取到的参数是乱码的解决
- ajax post data 获取不到数据,注意 content-type的设置 、post/get
- $.ajax()post方式请求参数无法传递,request.getParameter()无法获取
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- Android传统HTTP请求get----post方式提交数据(包括乱码问题)
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式