jQuery post数据至ashx实例详解
<div class="jb51code">
<pre class="brush:js;">
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 st<a href="https://www.jb51.cc/tag/rjson/" target="_blank" class="keywords">rjson</a> = streamReader.ReadToEnd();
P<a href="https://www.jb51.cc/tag/ara/" target="_blank" class="keywords">ara</a>m p = JsonConvert.DeserializeObject<Param>(st<a href="https://www.jb51.cc/tag/rjson/" target="_blank" class="keywords">rjson</a>);
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进行数据交互。
参考下面代码示例:
rush:js;">
$.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:
rush:js;">
using Sy
stem;
using Sy
stem.Collections.Generic;
using Sy
stem.Linq;
using Sy
stem.Web;
///
/// Summary description for Param
///
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的值:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文地址:https://www.jb51.cc/jquery/44374.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。