文档章节

原生态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
网易新闻的评论被顶数量是受到操纵的吗?

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

添加软件
2013/04/27
534
4
使用 jQuery, Angular.js 实现登录界面验证码详解

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

OB丶Koro1
2017/04/26
0
0
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

没有更多内容

加载失败,请刷新页面

加载更多

20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
18分钟前
0
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部