Json实现异步请求提交评论无需跳转其他页面
主要将代码粘贴,通过阅读代码理解其中的相关逻辑。
html代码:
<form id="form1" runat="server"> <p> 评论:</p> <p> 姓名:<input type="text" name="username" id="username1" /></p> <p> 内容:<textarea name="content" id="content" rows="2" cols="20"></textarea></p> <p> <input type="button" id="send" value="提交" /></p> </form> <div class="comment"> 已有评论:</div> <div id="resText"> </div>
js代码:
$("#send").click(function () { $.get("doSave.ashx", {<span style="white-space:pre"> </span> <span style="font-family: Arial, Helvetica, sans-serif;"> </span>//调用json插件 u_name: $("#username1").val(), //json数据/值对化 u_cont: $("#content").val() }, function (data) var uName = data.username; //注:此处的username与doSave.ashx中的dic.add("username",uname)中的username相对应的 var uCont = data.content; var txtHtml = "<div class='comment'><h6>" + uName + ":</h6><p class='para'>" + uCont + "</p></div>" $("#resText").html(txtHtml); //将返回的数据添加到页面上 }, "json"); })
插件代码:
<%@ WebHandler Language="C#" Class="doSave" %> using System; using System.Web; public class doSave : IHttpHandler { public void ProcessRequest(HttpContext context) { var dic = new System.Collections.Generic.Dictionary<string, object>(); //存储的集合 string jsonStr = "{}"; //新建字符串jsonStr context.Response.ContentType = "text/json"; //定义返回的内容类型为json string uname = context.Request.QueryString[0]; //获取请求参数中第一个参数,也可以直接使用uname string commet = context.Request.QueryString[1]; //定义字符串uname、commet为context请求查询的字符串context.Request.Params["username"];QyertStrubg:查询字符串 dic.Add("username", uname); //将字符串添加到对象中 dic.Add("content", commet); jsonStr = Newtonsoft.Json.JsonConvert.SerializeObject(dic); //序列化集合为json字符串 context.Response.Write(jsonStr); } public bool IsReusable { get { return false; } } }
此处效果即为,在输入框中输入相关文字,点击提交,下方会自动将书写的文字进行展示,无需跳转其他页面。
赞 (0)