文档章节

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

 木宛城主
发布于 2015/03/02 19:39
字数 515
阅读 6
收藏 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
255
0
使用 jQuery, Angular.js 实现登录界面验证码详解

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

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

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

帖子列表
2013/04/27
557
4
使用JQuery ajaxFileUpload.js上传文件踩坑记录

前言 最近在做前端的时候要实现文件上传的功能,用了form和jquery的ajax传值效果都不理想,最后采用了这个前端脚本来实现。在使用的时候遇到了几个坑,一路摸着石头过河,也算是解决了问题,...

杳杳靈鳯
10/23
0
0
OSCHINA 技能积分规则说明(2013年12月修订版)

随着2011年5月28日凌晨新版讨论区上线,OSCHINA 重新建立了积分体系。 技能积分原则: 1、为了OSCHINA的贡献者,或大或小,能够有自身价值的量化体现。 2、为了“去伪存真”,有用的信息能够...

老枪
2011/05/30
126.8K
447

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
8
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
14
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
14
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
8
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部