在页面上,我们经常会遇到局部刷新的例子,这个时候,就需要用到ajax,

因为很多代码都是公用的,所以我们想到了,将代码封装,简化了使用,减少了冗余

javascript ajax代码如下:

var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //创建XMLHTTP对象,考虑兼容性xmlhttp.open("POST", "AJAXTest.ashx?" + "i=5&j=10", true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。这里还没有发出请求xmlhttp.onreadystatechange = function (){if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成)
                {if (xmlhttp.status == 200) //如果状态码为200则是成功
                    {alert(xmlhttp.responseText);}else{alert("AJAX服务器返回错误!");}}}
//不要以为if (xmlhttp.readyState == 4) {在send之前执行!!!!xmlhttp.send(); //这时才开始发送请求
//发出请求后不等服务器返回数据,就继续向下执行,所以不会阻塞,界面就不卡了,这就是AJAX中“A”的含义“异步”。试着在ashx加一句Thread.Sleep(3000);

我们为了实现 无刷新页面实现 视频的顶踩操作,首先封装ajax,新建ajax.js,采用post提交

function ajax(url, onsuccess)
{var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //创建XMLHTTP对象,考虑兼容性。XHRxmlhttp.open("POST", url, true); //“准备”向服务器的GetDate1.ashx发出Post请求(GET可能会有缓存问题)。这里还没有发出请求//DRY:不要复制粘贴代码//AJAX是异步的,并不是等到服务器端返回才继续执行xmlhttp.onreadystatechange = function (){if (xmlhttp.readyState == 4) //readyState == 4 表示服务器返回完成数据了。之前可能会经历2(请求已发送,正在处理中)、3(响应中已有部分数据可用了,但是服务器还没有完成响应的生成)
        {if (xmlhttp.status == 200) //如果Http状态码为200则是成功
            {onsuccess(xmlhttp.responseText);}else{alert("AJAX服务器返回错误!");}}}//不要以为if (xmlhttp.readyState == 4) {在send之前执行!!!!xmlhttp.send(); //这时才开始发送请求。并不等于服务器端返回。请求发出去了,我不等!去监听onreadystatechange吧!
}

html页面:

<html>
<head><title></title>    //需要引入 刚刚封装的ajax函数<script type="text/javascript" src="js/ajax.js"></script><script type="text/javascript">function cai(){ajax("ZanCai.ashx?action=Cai", function (resText){document.getElementById("CaiCount").innerHTML = resText;});}</script>
</head>
<body>
<video src="diaosi.mp4" autoplay controls></video><p><input type="button" name="Zan" value="赞" οnclick="zan()" /><label id="ZanCount"></label></p><p><input type="button" name="Cai" value="踩" οnclick="cai()" /><label id="CaiCount"></label></p>
</body>
</html>

转载于:https://www.cnblogs.com/lastcode/p/4856689.html

2、.net NVelocity中原生javascript ajax封装使用相关推荐

  1. 原生 javascript ajax 实例演示

    (对低版本的 ie 不作兼容处理了,太过时,不知道谁还用) 本次演示采用原生javascript + php 实现ajax的  post  和  get 功能; 对php不了解的同学不用担心,就两三行 ...

  2. Javascript ajax封装 并重载

    看来我要把博客给弄起来,发现整天敲代码,有时候跟人沟通都成问题了,要多写点东西,整理整理忙乱的思绪.最近有幸接触WEB前端页面,看到项目里大伙写的JS代码头疼不已,而本人很懒又有严重的代码洁癖,一点点 ...

  3. 一次较为完整的原生JavaScript AJAX与Java的前后端数据交互

    效果 Maven 依赖 <dependency><groupId>javax.servlet</groupId><artifactId>javax.se ...

  4. 原生javascript自己封装的常用小方法。

    var zycTools = {//使用css选择器选择单个元素$:function(elem){return document.querySelector(elem);},//使用css选择器选择一 ...

  5. Ajax工作原理和原生JS的ajax封装

    前言: 之所以用ajax作为博客的开篇,是因为无论从ajax的出现还是从它的作用上来说,ajax对于前端无疑是意义重大的.甚至可以说,是ajax带来了前端这个行业.当然,历史并不能说明当下,曾经的辉煌 ...

  6. JavaWeb 第6章 Ajax 与 JQuery 任务1:使用原生 JavaScript 发送 Ajax请求

    JavaWeb 应用设计及实战 目录 上一章  下一章 上一个任务/上一节       下一个任务/下一节 实例链接  点我 目录 任务1  使用原生 JavaScript 发送 Ajax 请求 6. ...

  7. Chrome DevTools:在 Profile 性能分析中显示原生 javascript 函数

    本文翻译自 Chrome DevTools: Show native functions in JS Profile,中文版首发在我的知乎专栏 V8 源码及周边. 在 Chrome DevTools ...

  8. java原生封装_[Java教程]原生AJAX封装

    [Java教程]原生AJAX封装 0 2016-07-12 13:00:08 回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出!1 var ajaxHelper = { 2 ...

  9. 封装原声ajax,原生AJAX封装的简单实现

    回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出! var ajaxHelper = { /*1.0 浏览器兼容的方式创建异步对象*/ makeXHR: function ( ...

最新文章

  1. 艾伟:MOSS 2007 项目的开发步骤
  2. opencv图片线性混合可调
  3. BI@Report烂笔头
  4. 全面系统地总结Linux的基本操作(下)
  5. 解决securecrt rz 上传rar,gif文件不正确问题【转】
  6. Jmeter 录制https(五)
  7. SilverLight 初探一
  8. shell 免杀aspx_对于asp免杀webshell的一些总结
  9. php打印函数console,PHP内置Web Server探究(2)自定义PHP控制台输出console函数
  10. QQ浏览器下拉词推广是什么?
  11. oralce杀session
  12. Json格式类的转换相关代码--转载
  13. jQuery-JS在iframe中获取父页面的值
  14. js调用摄像头拍照,js调用摄像头在线拍照,js调用电脑摄像头拍照
  15. 计算机体系结构和计算机组成原理
  16. AppFabric配置
  17. 扩充C盘空间:分配其他盘剩余空间到C盘
  18. word制表符怎么设置(word制表符详细教程)
  19. [程序设计]前端Web页面使用原生JavaScript实现校验身份证号码在算法层面是否合法
  20. 第十六届全国大学生智能车竞赛(安徽赛区)信标组蒟蒻的想法

热门文章

  1. 关于课程设计、毕业设计的一些总结与思考
  2. Oracle中的Union、Union All、Intersect、Minus 使用用法区别
  3. 六数码问题(广搜_队列)
  4. jQuery 1.3 for Asp.Net、 CSLA.Net 3.6 for Windows 及 MOSS/WSS 一步一步从入门到精通三个系列的目录...
  5. 运行里用\\加IP地址访问远程主机和用mstsc登录远程主机有什么区别??
  6. (树)判断二叉树是否为BST
  7. Android点击事件(click button)的四种写法
  8. Ubuntu 使用记录
  9. 数据库中死锁那些事儿
  10. C异常处理实现: setjmp和longjmp