300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Jquery Ajax +.ashx XML数据格式

Jquery Ajax +.ashx XML数据格式

时间:2018-09-29 00:01:22

相关推荐

Jquery  Ajax  +.ashx  XML数据格式

Jquery Ajax+.ashx +XML比较流行的Ajax解决方案。在这里简单介绍一下

1. .ashx文件

public void ProcessRequest(HttpContext context){IISHandler ajax = new IISHandler();context.Response.ContentType = "text/xml";//接受Ajax传的值必须用context.request["xxxxx"]方式string anthora = context.Request["author"];string msga = context.Request["msg"];List<IISHandler.Message> messageList = new List<IISHandler.Message>();if (!string.IsNullOrEmpty(anthora) && !string.IsNullOrEmpty(msga)){//实例化对象,添加对象IISHandler.Message message = new IISHandler.Message() { id = Guid.NewGuid().ToString(), user = anthora, text = msga, time = DateTime.Now.ToString() };messageList.Add(message);//把对象保存ajax.Save(messageList);}//返回最新十条记录context.Response.Write(ajax.GetMessages(10));}

2. 保存

public void Save(List<Message> messageList){XDocument xdo = null;//文件是否存在if (!File.Exists(Server.MapPath("data.xml"))){//不存在新建xdo = new XDocument(new XElement("Message", ""));xdo.Save(AppDomain.CurrentDomain.BaseDirectory + "data.xml");}else{//存在加载xdo = XDocument.Load(Server.MapPath("data.xml"));}//循环添加到XMl中foreach (var message in messageList){XElement Message = new XElement("Node", new XElement("ID", message.id), new XElement("User", message.user), new XElement("Msg", message.text), new XElement("Date", message.time));xdo.Element("Message").Add(Message);}//保存文件xdo.Save(Server.MapPath("data.xml"));}

3. 返回记录方法

public string SelectXML(int Top){XDocument xdo = null;List<XElement> xelnew = new List<XElement>();//数据文件是否存在if (File.Exists(Server.MapPath("data.xml"))){//加载数据文件XElement xel = XElement.Load(Server.MapPath("data.xml"));//Linq To XML 查询数据xelnew = (from elementin xel.Elements()orderby element.Element("Date").Valuedescendingselect element).Take(Top).ToList();xdo = new XDocument(new XElement("Message", ""));foreach (var item in xelnew){xdo.Element("Message").Add(item);}//保存查询文件xdo.Save(AppDomain.CurrentDomain.BaseDirectory + "Selectdata.xml");}//返回查询数据return XDocument.Load(Server.MapPath("Selectdata.xml")).ToString();}

4. JS文件

$(function () {$("#send").click(function () {$.ajax({type: "post", //发送方式url: "Handler.ashx",//发送文件地址data: { author: $("#author").val(), msg: $("#msg").val() }, //参数datatype: "xml", //返回数据格式success: function (data) { //执行成功的执行方法$("#messagewindow").empty(); //清空文件//在data文件循环Node节点文件$("Node", data).each(function () {// $("User", this).text() 在Node节点里查询User 节点文本var Msg = "User :" + $("User", this).text() + "<br/>Message:" + $("Msg", this).text() + "<br/>date:" + $("Date", this).text() + "<br/><br/>"//将处理文件插入div中$("#messagewindow").append(Msg);});}});});});

5.在web.config 中配置.ashx文件

<system.web><httpHandlers ><!--<add verb="请求路径名称( 只有当请求Handler.ashx时才执行该文件)" path="请求方式(get/post)" type="类型(命名空间+.ashx文件名)">--><add verb="Handler.ashx" path="*" type="WeAppJqueryChart.Handler" validate="true"/></httpHandlers></system.web>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。