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;
}
}
}
此处效果即为,在输入框中输入相关文字,点击提交,下方会自动将书写的文字进行展示,无需跳转其他页面。