使用Ajax异步调用

一、Ajax介绍

  1. Ajax指异步Javascript和XML,Ajax带来用户体验的改变,页面进行局部的异步刷新;
  2. AJAX = DHTML (HTML、CSS、JavaScript ) + XMLHttpRequest 对象 ;
  3. 传统web交互模型,浏览器直接将请求发送给服务器,服务器响应直接发给浏览器;而Ajax交互模型,浏览器首先将请求发送Ajax引擎(以XMLHttpRequest为核心),Ajax引擎再将请求发送给服务器,服务器响应先发给Ajax引擎,再由引擎传给浏览器显示。

二、Ajax的使用

  1. 创建XMLHttpRequest对象;
  2. 将状态触发器绑定到一个函数;
  3. 使用open方法建立与服务器的连接;
  4. 向服务器发送数据;
  5. 在回调函数中对返回数据进行处理。
//get方式发送数据,参数已经在url上
xmlHttpReq.open("GET", "url?key=value");
//post方式发送数据,需要设置编码格式
xmlHttpReq.open("POST", "url");
xmlHttpReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttpReq.send("name=xxx&pwd=xxx");
//回调函数编写
if(xmlHttpReq.readyState == 4) {if(xmlHttpReq.status == 200) {//响应有效}
}

三、Ajax案例

  1. 通过离开焦点发送Ajax请求验证用户名是否存在;
var xmlHttpReq = createXMLHttpRequest();
xmlHttpReq.onreadystatechange = function() { //状态回调函数//readyState属性说明请求是否发送成功//0-请求未初始化(在调用open方法之前) //1-请求已提出(调用send方法之前) //2-请求已发送(可以从响应中得到内容头部)//3-请求处理中(响应中部分数据可用,服务器还没有完成响应)//4-请求已完成(可以访问服务器响应)if(xmlHttpReq.readyState == 4) { //status服务器响应状态//200-服务器响应成功 404-资源错误 500-服务器内部错误if(xmlHttpReq.status == 200) { //响应成功}}
};
xmlHttpReq.open("GET", "checkUser?username=" + username);
xmlHttpReq.send(null);

四、jQuery的Ajax

  1. jQuery库提供了方便的Ajax实现
//方式1
load(url, [data], [callback])
//方式2
jQuery.get(url, [data], [callback])
jQuery.post(url, [data], [callback])
//方式3
jQuery.ajax(options)
//方式4
jQuery.getJSON(url, [data], [callback])
  1. 简单示例
$(function(){$("#mybutton").bind("click", function(){$("#mydiv").load("URL地址");});
});

使用Ajax异步调用相关推荐

  1. Ajax异步调用Web服务的例子

    我这里是看的Dflying Chen的使用ASP.NET AJAX异步调用Web Service和页面中的类方法的一系列文章写出来的例子. 请Dflying Chen别介意.例子中没有最后一篇文章的的 ...

  2. jquery ajax异步调用

    写程序的第一步都要知其然,至于知其所以然就要看个人的爱好了.下面说一下web开发中经常用的ajax. 这里是用的jquery框架实现的ajax异步调用.废话少说先上代码.(asp.net开发) var ...

  3. ajax一步调用,ajax异步调用

    ajax异步调用 内容精选 换一换 当前示例是单模型情况下推理Engine的实现代码.在多模型情况下,如果需要参考该示例,您需要注意以下几点:声明preOutBuffer变量时,不能带有static关 ...

  4. [转] 为什么javascript是单线程的却能让AJAX异步调用?

    为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的? function foo() {console.log( 'first' );se ...

  5. 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...

    本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第三章<异步调用Web Service和页面中的类方法>,请同时 ...

  6. 图片懒加载、ajax异步调用数据、lazyload插件的使用

    关于这个效果还是很简单的,样式部分我就不多说了,我就简单的写了一下布局, 这是css样式 我们先说一下实现的原理. 我们都知道在于图片的引入,我们都是用src来引入图片地址.从而实现图片的显示.那我们 ...

  7. ajax拿table里的th值,Jquery Ajax 异步设置Table中某列的值

    可根据table中某列中的ID去改变某列的值! 只是参考,实际应用中不能这样做的,如果有很多行,频繁访问服务器,服务器是顶不住的! JS: $(document).ready(function () ...

  8. 异步调用WebService

    这里用Winform演示如何异步调用WebService. 首先在界面中拖入2个按纽,一个是同步,一个是异步,作为比较.新建立一个WebService,就用默认的HelloWorld方法来演示. 在W ...

  9. java微信公众号短信验证码_解决微信端公众号网页获取短信验证码ajax重复调用两次的问题...

    问题背景介绍: 微信公众号网页开发的时候,点击发送短信验证码,如果响应时间超长,目前测试是10秒左右(这个10秒左右,是我自己多次测试总结出来的规律) 超过10秒左右,就会自动请求第二遍,这个问题挺恶 ...

最新文章

  1. 基于链表实现队列(基于Java实现)
  2. QT利用lamda正则表达式取出字符串中的浮点数与整数
  3. 语言生日创意代码_你生日那天的宇宙什么样子知道?我全部给你吧!
  4. python生成指定位数随机数_python生成指定长度的随机数密码
  5. 一起谈.NET技术,Visual Studio与C#编程十个实用技巧
  6. 关于规划修编标准的问题
  7. 经典面试题(35):以下代码将输出的结果是什么?
  8. spring容器_Spring容器文档阅读要点记录
  9. swoole 启动流程_Swoole 启动一个服务,开启了哪些进程和线程?
  10. A Zero Flow Entry Expiration Timeout P4 Switch
  11. emplode php|,字符串的分割/组合/逆序等
  12. 大数据技术在各行业中的挑战有哪些
  13. Windows平台下c++ 内存泄漏检查的办法(如VLD)
  14. POJ2074 Line of Sight
  15. 2022年信息系统管理工程师考试大纲
  16. 制作一款游戏这么简单
  17. MATLAB实现imrotate函数
  18. 抖音巨量百应怎么发福袋?四川鹰迪
  19. 神经网络整合算法是什么,神经网络整合算法实例
  20. Mysql之子查询20221016

热门文章

  1. LatexVScode 报错I found no bibdata command//command//citation—while reading file*.aux
  2. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出
  3. 防止vps主机被别人绑定域名解析
  4. 计算机里面看不到桌面是什么原因,电脑桌面图标都没了是什么情况?电脑桌面图标都没了解决方法...
  5. FLASH学习资料整理
  6. 为什么大厂一边裁员,一边招聘?
  7. 解决turf.js裁剪multiPolygon类型的复杂带孔洞多边形时出现的问题
  8. SAP工序外协与库存外协区别及工序外协操作手册
  9. python 文字转图片支持emoji_求教 Python 如何将字符串转化为 emoji?
  10. linux 显卡驱动程序 接口,Linux显卡驱动程序Nvidia 384.59发布,增加对GeForce GT 1030 GPU支持...