Json实现异步请求提交评论无需跳转其他页面
主要将代码粘贴,通过阅读代码理解其中的相关逻辑。
html代码:
<formid="form1"runat="server"> <p> 评论:</p> <p> 姓名:<inputtype="text"name="username"id="username1"/></p> <p> 内容:<textareaname="content"id="content"rows="2"cols="20"></textarea></p> <p> <inputtype="button"id="send"value="提交"/></p> </form> <divclass="comment"> 已有评论:</div> <divid="resText"> </div>
js代码:
$("#send").click(function(){ $.get("doSave.ashx",{<spanstyle="white-space:pre"></span><spanstyle="font-family:Arial,Helvetica,sans-serif;"></span>//调用json插件 u_name:$("#username1").val(),//json数据/值对化 u_cont:$("#content").val() },function(data) varuName=data.username;//注:此处的username与doSave.ashx中的dic.add("username",uname)中的username相对应的 varuCont=data.content; vartxtHtml="<divclass='comment'><h6>" +uName+":</h6><pclass='para'>" +uCont+"</p></div>" $("#resText").html(txtHtml);//将返回的数据添加到页面上 },"json"); })
插件代码:
<%@WebHandlerLanguage="C#"Class="doSave"%> usingSystem; usingSystem.Web; publicclassdoSave:IHttpHandler { publicvoidProcessRequest(HttpContextcontext) { vardic=newSystem.Collections.Generic.Dictionary<string,object>();//存储的集合 stringjsonStr="{}";//新建字符串jsonStr context.Response.ContentType="text/json";//定义返回的内容类型为json stringuname=context.Request.QueryString[0];//获取请求参数中第一个参数,也可以直接使用uname stringcommet=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); } publicboolIsReusable { get { returnfalse; } } }
此处效果即为,在输入框中输入相关文字,点击提交,下方会自动将书写的文字进行展示,无需跳转其他页面。