为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery post数据到ashx

标签:
JQuery

今天给大家分享一个小功能,在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过来的数据:

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());
        }
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消