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>
时间: 2024-10-07 05:16:11

javascript;Jquery;获取JSON对象,无刷新评论实例。的相关文章

javascript;Jquery;获取JSON对象,无刷新分页实例。

js: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>&

asp.net中利用Jquery+Ajax+Json实现无刷新分页(二)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageTest.aspx.cs" Inherits="renmai_PageTest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh

ajax分页2:jquery.pagination +JSON 动态无刷新分页

aspx 页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SqlPage.aspx.cs" Inherits="SqlPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xh

用jquery写一个无刷新评论功能

<1> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Jquery/jquery-1.10.2.js" type="text/javascript"></script> <script type="text/javascript&quo

javascript获取json对象的key名称的两种方法

javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常工作. 先看第一种方法 jsonObj = { Name: 'richard', Value: '8' }for (key in jsonObj){ console.log(key); //add your statement to get key value} 结果 NameValue 第二种方法

php结合ajax实现简单的无刷新评论

实现的原理其实很简单,我是用的原生js写的,当然用jq封转好的也都一样(下次用jq写个其他的).解析都写在代码里面了: 建表语句: 1 CREATE TABLE `comment` ( 2 `id` int NOT NULL AUTO_INCREMENT COMMENT '主键索引' , 3 `content` text NOT NULL COMMENT '评论内容' , 4 PRIMARY KEY (`id`) 5 )ENGINE=MYISAM DEFAULT CHARSET=UTF8 6 ;

jQuery+AJAX+Struts实现无刷新分页

jQuery+AJAX+Struts实现无刷新分页 说明: 1.需要jQuery插件js文件: 2.使用myeclipse添加struts能力: 从前从客户端页面向服务器发送Ajax请求,需要在js中先创建XMLHttpRequest对象,对象创建好以后使用OPEN('GET/POST',URL,同步/异步)设置提交方式,URL地址,使用同步还是异步方式.然后使用send(data)向服务器发送数据,同时使用onreadystatechange来绑定回调函数.如果是使用GET方式提交数据,那么就

获取Json对象的长度或计数

最近又开始写博客了.因为最近的工作又开始与技术方面接口了.现在在开发WEB的时候,经常会遇到JSON对象的传递,JSON是个好东西,但是它却没有提供一些简单便捷的处理方法,其中获取JSON对象的长度就成了很多实战开发中会遇到的问题之一. 下面呢,我把Javascript的代码提供出来,为什么只提供Javascript代码呢?因为其它语言都或多或少提供了一些关于JSON的操作,唯独JavaScript没有提供多少,然后在WEB开发过程中,现在对JQuery的依赖比较多,所以话不多说了,请看代码:

无刷新评论

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>无刷新评论</title> <script type="text/javascript" src="js/jquery.min.js"></script></head><body&