Json實現(xiàn)異步請求提交評論無需跳轉(zhuǎn)其他頁面
2024-05-06 16:09:34
供稿:網(wǎng)友
Json實現(xiàn)異步請求,效果即為,在輸入框中輸入相關(guān)文字,點擊提交,下方會自動將書寫的文字進行展示,無需跳轉(zhuǎn)其他頁面
主要將代碼粘貼,通過閱讀代碼理解其中的相關(guān)邏輯。
html代碼:
<form id="form1" runat="server">
<p>
評論:</p>
<p>
姓名:<input type="text" name="username" id="username1" /></p>
<p>
內(nèi)容:<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>//調(diào)用json插件
u_name: $("#username1").val(), //json數(shù)據(jù)/值對化
u_cont: $("#content").val()
}, function (data)
var uName = data.username; //注:此處的username與doSave.ashx中的dic.add("username",uname)中的username相對應(yīng)的
var uCont = data.content;
var txtHtml = "<div class='comment'><h6>"
+ uName + ":</h6><p class='para'>"
+ uCont + "</p></div>"
$("#resText").html(txtHtml); //將返回的數(shù)據(jù)添加到頁面上
}, "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"; //定義返回的內(nèi)容類型為json
string uname = context.Request.QueryString[0]; //獲取請求參數(shù)中第一個參數(shù),也可以直接使用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;
}
}
}
此處效果即為,在輸入框中輸入相關(guān)文字,點擊提交,下方會自動將書寫的文字進行展示,無需跳轉(zhuǎn)其他頁面。