1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > AJAX怎么实现异步刷新和局部刷新

AJAX怎么实现异步刷新和局部刷新

时间:2021-06-27 05:19:24

相关推荐

AJAX怎么实现异步刷新和局部刷新

web前端|js教程

AJAX,新和,异步

web前端-js教程Overriew: onReadyStateChange被回调函数赋值,则能实现异步调用,回调函数直接操作DOM,则能实现局部刷新。那么XMLHttpRequest的onReadyStateChange如何知道服务ready了呢?状态如何change了呢(观察者模式)?则是通过客户端对服务的状态询问(定期轮询)所实现的。

中国站长源码,vscode 应用商店,通过ip地址查ubuntu名称,最大优化tomcat,sqlite注入语句大全,京东联盟插件,前端免费框架有哪些,成都最大的爬虫基地,微信登录 php,seo岗位说明,聚享游网站源码,网页下拉列表框填充色,discuz x2 模板下载,设置倒计时两分钟的vb程序编写lzw

详解:

商城 开源 源码下载,虚拟ubuntu怎么安装,tomcat的小朋友们,python 学校 爬虫,html5怎么安装php,商城 系统 seolzw

1. XMLHttpRequest 负责与服务器端的通讯,其内部有很多重要的属性:readyStatus=4,status=200等等。当XMLHttpRequest的整体状态并且保证它已经完成(readyStatus=4),即数据已经发送完毕。然后根据服务器的设定询问(类似于客户端会轮询服务器的返回状态,仍然是http短连接,并非长连接的服务器端push)请求状态,如果一切已经就绪(status=200),那么就执行需要的操作。

云网盘源码,怎么设置vscode头部模板,ubuntu iso挂载,修改js重启tomcat,sqlite 赋值,网页设计跟做网站一样吗,织梦链接数据库失败,申请服务器身份证书,ecshop批量评论插件,windows前端框架,结网小爬虫,php 类初始化,北京的seo服务公司,博客springboot讲解,dede tag标签修改,地方门户网站如何推广,curl抓取jsp网页,discuz搜索页面模板,dedecms 后台 网页主页链接,手机商店页面源码,网站cms后台管理系统下载,仿迅雷看看电影整站程序lzw

操作一般就是直接操作DOM,所以AJAX能做到所谓的“无刷新”用户体验。

document.getElementById("user1").innerHTML = "数据正在加载...";if (xmlhttp.status == 200) { document.write(xmlhttp.responseText);}

2. 那么在AJAX客户端如何做到的异步呢?实际上就是Javascript的回调函数起的作用

提供一个回调JavaScript函数,一旦服务器响应可用,该函数就被执行

业务函数:

function castVote(rank) { var url = "/ajax-demo/static-article-ranking.html"; var callback = processAjaxResponse; executeXhr(callback, url);}需要异步通讯的函数: function executeXhr(callback, url) { // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = callback; req.open("GET", url, true); req.send()(null); } // branch for IE/Windows ActiveX version else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = callback; req.open("GET", url, true); req.send()(); } }}req.onreadystatechange = callbackreq.open("GET", url, true)

第一行定义了JavaScript回调函数,一旦响应就绪它就自动执行,而req.open()方法中所指定的“true”标志说明想要异步执行该请求。

一旦服务器处理完XmlHttpRequest并返回给浏览器,使用req.onreadystatechange指派所设置的回调方法将被自动调用。

回调函数:

function processAjaxResponse() { if (req.readyState == 4) { // only if "OK" if (req.status == 200) { document.getElementById("user1").innerHTML = req.responseText; } else { alert("There was a problem retrieving the XML data:" + req.statusText); } }}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。