文档章节

原生态Ajax无刷新评论和顶踩代码(记事本打造,无验证)

 木宛城主
发布于 2015/03/02 19:43
字数 515
阅读 4
收藏 0

<script type="text/javascript">
var xhr=false;
	var actionType;
	//todo:
	var sId=1;
  function createXmlHttp() {//创建xhr对象
            var xhobj = false;
            try {
                xhobj = new ActiveXObject("Msxml2.XMLHTTP"); // ie msxml3.0+
            } catch (e) {
                try {
                    xhobj = new ActiveXObject("Microsoft.XMLHTTP"); //ie msxml2.6
                } catch (e2) {
                    xhobj = false;
                }
            }
            if (!xhobj && typeof XMLHttpRequest != 'undefined') {// Firefox, Opera 8.0+, Safari
                xhobj = new XMLHttpRequest();
            }
            return xhobj;
        }
	window.onload=function(){
		xhr=new createXmlHttp();
	}
	function doSupport(isSupport){
		xhr.open("POST","DoSupport.ashx",true);
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xhr.onreadystatechange=watching;
		if(isSupport){
			actionType=1;
			xhr.send("sId="+sId+"&isSup="+actionType);
		}
		else{
			actionType=0;
			xhr.send("sId="+sId+"&isSup="+actionType);
		}	
	}
	function watching(){
		if(xhr.readyState>=4){
			if(xhr.status==200){
				var resText=xhr.responseText;
				var resArr=resText.split(",");
				if(resArr[0]=="ok"){
					if(actionType==1){
						document.getElementById("spanSup").innerHtml=resArr[1];
					}
					else{
						document.getElementById("spanDisSup").innerHtml=resArr[1];
					}
				}
				else{
					//todo:
				}	
			}	
		}
	}
	function AddComment(){
		xhr.open("POST","DoAddComments.ashx",true);
		xhr.setreadystatechange=watchingComments;
		xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		var urlData="sId"+sId+"&txtContents="+document.getElementByIdea("txtComments").value;
		xhr.send(urlData);
	}
	function watchingComments(){
		if(xhr.readyStates>=4){
			if(xhr.status==200){
				var resText=xhr.responseText;
				if(resText=="ok"){
					var commentsTable=document.getElementById("txtComments");//获取评论的表格对象
					var newRow=commentsTable.insertRow(commentsTable.row.length);
					var nTd1=newRow.insertCell();
					var nTd2=newRow.insertCell();
					nTd1.innerHtml=nowLoginUser;
					nTd2.innerHtml=document.getElementById("txtComments").value;
				}
				else{
					//todo:
				}
			}
			else{
				alert(xhr.status);
			}
		}
		
	}



<script>

 

View Code
 1 <br><script type="text/javascript">
 2 ?
 3     var xhr=false;
 4     var actionType;
 5     //todo:
 6     var sId=1;
 7   function createXmlHttp() {//创建xhr对象
 8             var xhobj = false;
 9             try {
10                 xhobj = new ActiveXObject("Msxml2.XMLHTTP"); // ie msxml3.0+
11             } catch (e) {
12                 try {
13                     xhobj = new ActiveXObject("Microsoft.XMLHTTP"); //ie msxml2.6
14                 } catch (e2) {
15                     xhobj = false;
16                 }
17             }
18             if (!xhobj && typeof XMLHttpRequest != 'undefined') {// Firefox, Opera 8.0+, Safari
19                 xhobj = new XMLHttpRequest();
20             }
21             return xhobj;
22         }
23     window.onload=function(){
24         xhr=new createXmlHttp();
25     }
26     function doSupport(isSupport){
27         xhr.open("POST","DoSupport.ashx",true);
28         xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
29         xhr.onreadystatechange=watching;
30         if(isSupport){
31             actionType=1;
32             xhr.send("sId="+sId+"&isSup="+actionType);
33         }
34         else{
35             actionType=0;
36             xhr.send("sId="+sId+"&isSup="+actionType);
37         }   
38     }
39     function watching(){
40         if(xhr.readyState>=4){
41             if(xhr.status==200){
42                 var resText=xhr.responseText;
43                 var resArr=resText.split(",");
44                 if(resArr[0]=="ok"){
45                     if(actionType==1){
46                         document.getElementById("spanSup").innerHtml=resArr[1];
47                     }
48                     else{
49                         document.getElementById("spanDisSup").innerHtml=resArr[1];
50                     }
51                 }
52                 else{
53                     //todo:
54                 }   
55             }   
56         }
57     }
58     function AddComment(){
59         xhr.open("POST","DoAddComments.ashx",true);
60         xhr.setreadystatechange=watchingComments;
61         xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
62         var urlData="sId"+sId+"&txtContents="+document.getElementByIdea("txtComments").value;
63         xhr.send(urlData);
64     }
65     function watchingComments(){
66         if(xhr.readyStates>=4){
67             if(xhr.status==200){
68                 var resText=xhr.responseText;
69                 if(resText=="ok"){
70                     var commentsTable=document.getElementById("txtComments");//获取评论的表格对象
71                     var newRow=commentsTable.insertRow(commentsTable.row.length);
72                     var nTd1=newRow.insertCell();
73                     var nTd2=newRow.insertCell();
74                     nTd1.innerHtml=nowLoginUser;
75                     nTd2.innerHtml=document.getElementById("txtComments").value;
76                 }
77                 else{
78                     //todo:
79                 }
80             }
81             else{
82                 alert(xhr.status);
83             }
84         }
85          
86     }
87  
88  
89  
90 <script>

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 222
码字总数 199010
作品 0
黄浦
Ajax实现评论的顶和踩功能

这算是社团布置的一个假期小作业吧,我只是提出我自己的解决方案,不一定是最合适的。 效果大致如下: javascript这块使用jquery。新建一个Asp.net web项目,使用NuGet获取Jquery最新版。 数...

长平狐
2013/11/25
245
0
使用 jQuery, Angular.js 实现登录界面验证码详解

写在前面: 前段事件,做了一个用ajax后台异步交互的登录功能,自己在上面加了一个验证码的功能,这个功能背后的原理挺好理解的,实现起来也十分简单,特此写波分享,,自己写的过程中踩了不...

OB丶Koro1
2017/04/26
0
0
网易新闻的评论被顶数量是受到操纵的吗?

随便选择一篇新闻:http://comment.news.163.com/newsguonei8bbs/8TF1E94F00014JB6.html 对某条评论进行“顶”操作,点击后,发现ajax错误: POST http://comment.news.163.com/reply/upvot...

添加软件
2013/04/27
534
4
Jingle怎么传递参数啊

@问题石 你好,想跟你请教个问题: 社区博客 这个data-url 怎么传递参数啊比如我想点击这个后 ajax到blog.php?pid=4&ppid=4 还有救是accsess成功后..我不想是用js模板引擎,我想用原生态的js解...

amu1433
2014/05/29
1K
2
【代码实现】PHP生成各种随机验证码

文章来源:PHP开发学习门户 (自行开发的个人网站) 验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见...

PHP开发学习门户
2014/10/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MySQL 乱七八糟的可重复读隔离级别实现

MySQL 乱七八糟的可重复读隔离级别实现 摘要: 原文可阅读 http://www.iocoder.cn/Fight/MySQL-messy-implementation-of-repeatable-read-isolation-levels 「shimohq」欢迎转载,保留摘要,谢...

DemonsI
58分钟前
2
0
Spring源码阅读——2

在阅读源码之前,先了解下Spring的整体架构: 1、Spring的整体架构 1. Ioc(控制反转) Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描...

叶枫啦啦
今天
1
0
jQuery.post() 函数格式详解

jquery的Post方法$.post() $.post是jquery自带的一个方法,使用前需要引入jquery.js 语法:$.post(url,data,callback,type); url(必须):发送请求的地址,String类型 data(可选):发送给后台的...

森火
今天
0
0
referer是什么意思?

看看下面这个回答(打不开网页可以把网址复制到搜索栏): https://zhidao.baidu.com/question/577842068.html

杉下
今天
1
0
使用U盘安装CentOS-解决U盘找不到源

1. 使用UltraISO制作CentOS安装盘 如果需要安装带界面的系统,为保证安装顺利,可选择Everything版本的ISO制作安装盘。 2. 在BIOS中选择使用U盘安装 系统启动后,进入安装选择界面,其中有三...

Houor
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部