简单的html代码,保存了ajax.html就可以了。
代码如下
|
复制代码
|
javascript:void(0)" class="link" onclick="ViewMsg(<%#Eval("RecordID")%>);return false;">查看全部
|
引用 jquery.js 和 date.f-0.5.0.js(json 日期转换)
代码如下
|
复制代码
|
function ViewMsg(id) {
$.ajax({
type: "post",
cache: false,
url: "/user/accountmanage/mymessage/MsgHandler.ashx?id=" + id + "&type=view",
datatype: "json",
data:'',//可以在这里写需要http请求的参数。
success: function (data) {
$('#lblSender').html(data.Sender);
$('#lblSendTime').html(new Date(parseInt(data.SendTime.substr(6))).f('yyyy-MM-dd'));//json 日期字符串转换成 string日期 格式
$('#lblContent').html(data.Content1);
var message = data.RecordID;
$('#delMsg').bind('click', { msg: message }, function (event) {
confirm("确定要删除?");
$.ajax({
type: "post",
cache: false,
url: "/user/accountmanage/mymessage/MsgHandler.ashx?id=" + event.data.msg + "&type=del",
datatype: "text",
success: function (data) { location.href = location; },
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
}
});
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
}
});
}
|
新建一个一般处理程序 MsgHandler.ashx 注意文档编码和jquery ajax文件编码必须一致,否则可能出现乱码问题。
代码如下
|
复制代码
|
public class MsgHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString["type"] == "view")
{
context.Response.ContentType = "application/json";
int id = JSSDW.Utils.StringUtils.ToInt32(context.Request.QueryString["id"], 0);//这个是把string类型转换为int类型,默认为0,可以直接用convert.into32()
WebBiz.Message messageBiz = new WebBiz.Message();
Interface.Message message = messageBiz.GetMessageInfo(id);
string json = new JavaScriptSerializer().Serialize(message);//把实体类转为json格式输出
context.Response.Write(json);
}
else
{
context.Response.ContentType = "application/text";
int id = JSSDW.Utils.StringUtils.ToInt32(context.Request.QueryString["id"], 0);
WebBiz.Message messageBiz = new WebBiz.Message();
messageBiz.DeleteMessageInfo(id);
context.Response.Write("删除成功");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
|
下面这段代码是主要的了,就是发送类型为post数据了,然后返回 类型为json上面有个json文件,还有一个url就是请求处理数据的url
代码如下
|
复制代码
|
$.ajax({
type:'post',//这里页面数据发送请求的方式可以为post和get
cache:'false ', //这里可以为false或者true 是否要缓存 ,默认为false
url : 'XXXXX/XXX.ashx',//这里页面通过webhttprequest 请求处理的类路径最好写物理路径
datatype:'json',//这里传出的数据格式可以为json类型和text类型
data: flag:'del',id:'ID',$('#id').val()//这里可以写入你要传过去处理的数据和类型等等
success:function(data){},//这里返回经过处理的得到的服务端数据
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('');
});
|
总结:
本文章简单的讲述了关于利用了$.ajax的post方法来发送请求返回json数据然后我们进来处理,由于使用了插件我们节省了大量的关于ajax兼容这块的处理,至于asp.net这段代码我们不讲解了。