jQuery post数据至ashx实例详解

public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "application/json";
      context.Response.ContentEncoding = Encoding.UTF8;

      Stream inputStream = context.Request.InputStream;
      Encoding encoding = context.Request.ContentEncoding;
      StreamReader streamReader = new StreamReader(inputStream, encoding);

      string strJson = streamReader.ReadToEnd();

      Param p = JsonConvert.DeserializeObject<Param>(strJson);

      int top = Convert.ToInt32(p.Top);
      string term = p.Term;

      //var result = ...
      //context.Response.Write(result.ToJson());
    }

Source Code

jQuery post数据至ashx

今天给大家分享一个小功能,在jQuery环境中,Post data to ashx进行数据交互。

参考下面代码示例:

$.ajax({
           url: '<%= ResolveUrl("~/Handlers/xxx.ashx") %>',
              dataType: "json",
              type: "POST",
              contentType: "application/json; charset=utf-8",
              data: JSON.stringify({
                top: 10,
                term: request.term
              }),
              success: function (data) {
                //...
              }
            });

jQuery的Post值是使用type: "POST",上传的数据类型为contentType: "application/json; charset=utf-8"。

从代码示例中,它有2个参考需要上传,top,term。

为了更好在ashx能接收,我们写一个model:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Param
/// </summary>
namespace Insus.NET
{
  public class Param
  {
    private int _top;
    public int Top
    {
      get { return _top; }
      set { _top = value; }
    }

    private string _term;

    public string Term
    {
      get { return _term; }
      set { _term = value; }
    }
  }
}

在ashx处理程序中,我们可以同下面这样接收Post过来的数据:

下面我们尝试在实际环境中,Post一个数据如 “1628”,在FireFox的firebug看到传送结果如下:

在ashx中,接收到的结果如下:

再进一步得到top的值:

最后得到的是term的值:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    详细解读Jquery各Ajax函数: $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数. 而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明 复制代码 代码如下: $.get("dat

  • javascript jQuery $.post $.ajax用法

    jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示. callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法). type (String) : (可选)官方的说明是:Type o

  • jquery post方式传递多个参数值后台以数组的方式进行接收

    在用jquery的post方式传递多个值时,在后台页面可以用数组形式接收 如下所示 复制代码 代码如下: <script type="text/javascript"> $(function () { timestamp = 0; $("#chatform").submit(function () { var message = $("#msg").val(); var name = $("#author").va

  • jquery中$.post()方法的简单实例

    在jqery中有这样一个方法,$.post()下面就这个方法做一个简单的实例: jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示. callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调

  • jQuery get和post 方法传值注意事项

    刚刚做了几个实验,看看下面的代码就清楚了: 以下内容需要回复才能看到 jquery_data.php 复制代码 代码如下: <?php echo "post: "; print_r($_POST); echo "get: "; print_r($_GET); ?> jquery_test.html 实验1: 复制代码 代码如下: $(function() { // post 方法,两处都有数据 $.post('jquery_data.php?v1=1',

  • jquery向.ashx文件post中文乱码问题的解决方法

    1.我的环境:vs2005,未装SP1补丁,不能创建Web应用程序,只能创建网站:jquery版本1.5.1 2.web.config中的相关配置 <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 3.jquery的Post数据的写法 复制代码 代码如下: $(document).ready(function (){ $("#btnSend").cl

  • Jquery AJAX POST与GET之间的区别

    1:GET访问 浏览器 认为 是等幂的就是 一个相同的URL 只有一个结果[相同是指 整个URL字符串完全匹配]所以 第二次访问的时候 如果 URL字符串没变化 浏览器是 直接拿出了第一次访问的结果 POST则 认为是一个 变动性 访问 (浏览器 认为 POST的提交 必定是 有改变的) 防止 GET 的 等幂 访问 就在URL后面加上 ?+new Date();,[总之就是使每次访问的URL字符串不一样的] 设计WEB页面的时候 也应该遵守这个原则 2:一.谈Ajax的Get和Post的区别

  • jQuery中ajax的post()方法用法实例

    本文实例讲述了jQuery中ajax的post()方法用法.分享给大家供大家参考.具体分析如下: $.post() 方法通过HTTP POST请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.post(URL,data,callback); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,规定连同请求发送的数据. 3.callback:可选,规定请求成功后所执行的函数名. 代码实例: 复制代码 代码如下: <!DOCTYPE html> <html&g

  • jquery中get,post和ajax方法的使用小结

    在JQuery中可以使用get,post和ajax方法给服务器端传递数据 get方法的使用(customForGet.js文件): function verify(){//1.获取文本框的数据 //通过DOM的方式获取//document.getElementByIdx("userName");//通过JQuery的方式获取var jqueryObj = $("#userName");//获取节点的值var userName = jqueryObj.val(); /

  • jquery ajax post提交数据乱码

    在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件chrome和ie都没有指定,所以出现乱码问题.解决方法: 复制代码 代码如下: $.ajaxSetup({  contentType: "application/x-www-form-urlencoded; charset=utf

随机推荐