<!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 > ? : }); //匿名类
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>

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

  1. javascript;Jquery;获取JSON对象,无刷新分页,异步加载,异步删除,实例。

    AjaxNewsList: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> < ...

  2. jquery获取json对象中的key小技巧

    jquery获取json对象中的key小技巧 比如有一个json var json = {"name" : "Tom", "age" : 1 ...

  3. JQuery 获取json数据$.getJSON方法的实例代码

    这篇文章介绍了JQuery 获取json数据$.getJSON方法的实例代码,有需要的朋友可以参考一下 前台: function SelectProject() { var a = new Array ...

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

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageTest.aspx.cs ...

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

    静态页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  6. jquery获取json对象中的key小技巧,遍历json串所有key,value

    比如有一个json var json = {"name" : "Tom", "age" : 18}; 想分别获取它的key 和 value ...

  7. jquery.pagination +JSON 动态无刷新分页

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SqlPage.aspx.cs& ...

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

    javascript获取json对象的key名称的两种方法 数据处理中,你可能接收到一个不确定内容格式的json对象,然后要把key的值提取出来.今天试过两种可以提取json key的方法,均可以正常 ...

  9. jQuery 无刷新评论

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. eclipse + MinGW调试程序printf输出被buffer的问题

    比如说一个 1. int x = 1;2. printf("xxx")3. int y = 2;调试的时候,运行第二行,但是控制台没有输出.必须调试到整个程序都结束的时候才会把所有 ...

  2. mysql 索引优化,索引建立原则和不走索引的原因

    第一:选择唯一性索引 唯一性索引的值是唯一的,可以更快捷的通过该索引来确定某条记录. 2.索引的列为where 后面经常作为条件的字段建立索引 如果某个字段经常作为查询条件,而且又有较少的重复列或者是 ...

  3. Spring MVC密码处理

    以下示例显示如何在使用Spring Web MVC框架的表单中使用密码.首先使用Eclipse IDE来创建一个WEB工程,并按照以下步骤使用Spring Web Framework开发基于动态表单的 ...

  4. ubuntu16.04 一些简单软件安装操作

    1.ubuntu下的python指令指向python3.5(默认是指向python2.7) /usr/bin目录下 sudo ln -sf ./python3.5 ./python 2.安装pycha ...

  5. Android之使用Android-query框架进行开发

    开发Android使用Android-query框架能够快速的,比传统开发android所要编写的代码要少得很多,容易阅读等优势. 下载文档及其例子和包的地址:http://code.google.c ...

  6. IOS时间与日期处理

    本文转载至 http://blog.sina.com.cn/s/blog_9cd1705d0102v5x4.html   主要有以下类: NSDate -- 表示一个绝对的时间点NSTimeZone ...

  7. iptables 实际操作 之 规则查询 2

    在之前的文章中,我们已经总结过,iptables 为我们预定义了4张表,他们分别是raw 表,mangle表,nat表,filter表,不同的表拥有不同的功能. filter 负责过滤功能,比如允许那 ...

  8. C#反射应用-- 深圳精致抖友小群,质量的同学入群,限深圳地区(放几天我就删,管理别封我)

    C#反射的应用 Dapper轻量级ORM框架,不能根据主键ID获取实体,及不能根据主键ID删除记录,所以这里记录自己封装的一个方法来实现这个功能 /// 根据主键Id删除记录(包含根据主键获取记录) ...

  9. 网络摄像机进行互联网视频直播录像方案的选择,EasyNVS or EasyCloud or EasyGBS?

    背景需求 互联网视频直播越来越成为当前大势:直播的需求往往都伴随在录像的需求,对于录像,不同的场景又有不同的方案选择: 本篇博客将会介绍对应的几种录像方案,可以帮助有互联网录像需求的用户进行对应的录像 ...

  10. Oracle备份一张表

    数据库:myOnly 创建表:myTable 的备份表 myTable_tmpe create table myTable_tmpe as select * from myTable ; 补充: -- ...