为了账号安全,请及时绑定邮箱和手机立即绑定

异步加载实现局部刷新

异步加载实现局部刷新

chaucy 2016-05-26 09:45:14
慕课网里面有专门的视频讲解吗?求推荐。求高手给一个完整可运行例子,谢谢了!!!
查看完整描述

1 回答

已采纳
?
竹马君

TA贡献64条经验 获得超115个赞

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

提供一个回调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 = callback

req.open("GET", url, true)

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

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


查看完整回答
4 反对 回复 2016-05-26
  • 1 回答
  • 1 关注
  • 1428 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信