• javascript;Jquery;获取JSON对象,无刷新评论实例。


     
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <script type="text/javascript">
            window.onload = function () {
                //注册btn事件
                document.getElementById("btnPost").onclick = function () {
                    var txtTitle = document.getElementById("txtTitle").value;
                    var txtContent = document.getElementById("txtContent").value;
                    var txtEmail = document.getElementById("txtEmail").value;
                    var xhr = null;
                    if (typeof (XMLHttpRequest) != undefined) {
                        xhr = new XMLHttpRequest();
                    }
                    else {
                        xhr = new ActiveXObject("Microsoft.XMLHttp");
                    }
                    xhr.onreadystatechange = function () {
                        if (xhr.readyState == 4 && xhr.status == 200) {
                            var tent = JSON.parse(xhr.responseText);
                            if (tent.IsOK == "1") {
                                document.getElementById("fontMsg").innerHTML = "评论成功!";
                                document.getElementById("fontMsg").color = "green";
                                //动态添加数据到页面显示
                                var tbody = document.getElementById("tbody1");
                                var trobj = tbody.insertRow(-1);
                                trobj.insertCell(-1).innerHTML = tent.autoId; //编号
                                trobj.insertCell(-1).innerHTML = txtTitle; //标题
                                trobj.insertCell(-1).innerHTML = txtContent; //内容
                                trobj.insertCell(-1).innerHTML = txtEmail; //邮箱
                            }
                            else if (tent.IsOK == "0") {
                                document.getElementById("fontMsg").innerHTML = "评论失败!";
                                document.getElementById("fontMsg").color = "red";
                            }
                        }
                    };
                    xhr.open("Post", "AddComments.ashx", true);
                    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    xhr.send("title=" + txtTitle + "&content=" + txtContent + "&email=" + txtEmail);
                };
                //加载评论
                var xhr = null;
                if (typeof (XMLHttpRequest) != undefined) {
                    xhr = new XMLHttpRequest();
                }
                else {
                    xhr = new ActiveXObject("Microsoft.XMLHttp");
                }
                xhr.onreadystatechange = function () {
                    if (xhr.readyState == 4 && xhr.status == 200) {
                        var Comments = JSON.parse(xhr.responseText);
                        var tbody = document.getElementById("tbody1");
                        for (var i = 0; i < Comments.length; i++) {
                            var trobj = tbody.insertRow(-1);
                            trobj.insertCell(-1).innerHTML = Comments[i].autoId;
                            trobj.insertCell(-1).innerHTML = Comments[i].title;
                            trobj.insertCell(-1).innerHTML = Comments[i].content;
                            trobj.insertCell(-1).innerHTML = Comments[i].email;
                        }
                    }
                };
                xhr.open("Get", "GetComments.ashx", true);
                xhr.send(null);
            };
        </script>
    </head>
    <body>
        评论:<br />
        <table border="1">
            <tr>
                <td>标题:</td>
                <td><input type="text" id="txtTitle" value="" /></td>
            </tr>
            <tr>
                <td>内容:</td>
                <td><input type="text" id="txtContent" value="" /></td>
            </tr>
            <tr>
                <td>邮箱:</td>
                <td><input type="text" id="txtEmail" value="" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="button" id="btnPost" value="评论" /><font id="fontMsg"></font></td>
            </tr>
        </table>
        <p>=========================================================</p>
        <table>
            <tr>
                <td>编号:</td>
                <td>标题:</td>
                <td>内容:</td>
                <td>邮箱:</td>
            </tr>
            <tbody id="tbody1"></tbody>
        </table>
    </body>
    </html>

    一般处理程序:

    using MyPerson.BLL;
    using MyPerson.Model;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Script.Serialization;
    
    namespace MyPerson.UI.Ajax
    {
        /// <summary>
        /// AddComments 的摘要说明
        /// </summary>
        public class AddComments : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                if (context.Request["title"] != null && context.Request["content"] != null && context.Request["email"] != null)
                {
                    TblComments model = new TblComments();
                    model.title = context.Request["title"];
                    model.content = context.Request["content"];
                    model.email = context.Request["email"];
                    int n = new CommentsBll().AddComment(model);
                    string json = new JavaScriptSerializer().Serialize(new { autoId = n, IsOK = n > 0 ? 1 : 0 }); //匿名类
                    context.Response.Write(json);
                }
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }

     jquery版:

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <script src="../Scripts/jquery-1.7.1.js"></script>
        <script type="text/javascript">
            $(function () {
                //注册btn事件
                $("#btnPost").click(function () {
                    var txtTitle = $("#txtTitle").val();
                    var txtContent = $("#txtContent").val();
                    var txtEmail = $("#txtEmail").val();
                    $.getJSON("AddComments.ashx", { "title": txtTitle, "content": txtContent, "email": txtEmail }, function (_data) {
                        if (_data.IsOK == "1") {
                            $("#fontMsg").html("评论成功!");
                            $("#fontMsg").css("color", "green");
                            //动态添加数据到页面显示
                            var tr = $("<tr><td>" + _data.autoId + "</td><td>" + txtTitle + "</td><td>" + txtContent + "</td><td>" + txtEmail + "</td></tr>");
                            $("#tbody1").append(tr);
                        }
                        else if (_data.IsOK == "0") {
                            $("#fontMsg").html("评论失败!");
                            $("#fontMsg").css("color", "red");
                        }
                    });
                });
                //加载评论
                $.getJSON("GetComments.ashx", null, function (_data) {
                    $.each(_data, function (key, value) {
                        var tr = $("<tr><td>" + value.autoId + "</td><td>" + value.title + "</td><td>" + value.content + "</td><td>" + value.email + "</td></tr>");
                        $("#tbody1").append(tr);
                    });
                });
            });
        </script>
    </head>
    <body>
        评论:<br />
        <table border="1">
            <tr>
                <td>标题:</td>
                <td><input type="text" id="txtTitle" value="" /></td>
            </tr>
            <tr>
                <td>内容:</td>
                <td><input type="text" id="txtContent" value="" /></td>
            </tr>
            <tr>
                <td>邮箱:</td>
                <td><input type="text" id="txtEmail" value="" /></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="button" id="btnPost" value="评论" /><font id="fontMsg"></font></td>
            </tr>
        </table>
        <p>=========================================================</p>
        <table>
            <tr>
                <td>编号:</td>
                <td>标题:</td>
                <td>内容:</td>
                <td>邮箱:</td>
            </tr>
            <tbody id="tbody1"></tbody>
        </table>
    </body>
    </html>
  • 相关阅读:
    Codeforces Round #652 (Div. 2) A. FashionabLee(几何)
    轻量应用服务器如何通过修改apache配置文件实现非https的访问多域名到不同子目录程序?
    在Windows环境下使用hexo搭建博客以及部署到gitee / github
    使用WordPress搭建个人手机博客(阿里云)
    访问自己服务器的ip地址
    php环境无法上传文件的解决方法
    SSRF漏洞
    CSRF全家桶(含义,防御,攻击)
    JS实现HTML实体与字符的相互转换
    CentOS系统下载及应用部署
  • 原文地址:https://www.cnblogs.com/han1982/p/4055678.html
Copyright © 2020-2023  润新知