请选择 进入手机版 | 继续访问电脑版
帖子
帖子
用户
博客
课程
显示全部楼层
20
帖子
1
勋章
7559
Y币

api.ajax请求耗时测试用例

[复制链接]
发表于 2017-6-8 20:01:17
很多开发者对api.ajax请求效率存在疑问,以下提供较为公正的测试代码,通过api.ajax和标准的XMLHttpRequest请求同一个url进行对比:
  1. //当前系统时间戳,毫秒
  2.                 function curtime(){
  3.                         return new Date().getTime();
  4.                 }
  5.                
  6.                 var ajaxurl = 'http://www**.**.cn/ajax/demo_get.asp';
  7.                 //api.ajax请求,无跨域问题
  8.                 function GetRequest(){
  9.                         var starttime = curtime();
  10.                         api.ajax({
  11.                                 url: ajaxurl,
  12.                                 dataType:'text',
  13.                                 cache: true
  14.                         }, function (ret, err) {
  15.                                 if (ret) {
  16.                                         alert('用时:' + (curtime() - starttime) + "毫秒\n请求结果:\n" + JSON.stringify(ret));
  17.                                 } else {
  18.                                         alert('出错了!\n' + '网络状态码:' + err.statusCode + '\n错误码:' + err.code + '\n错误信息:' + err.msg);
  19.                                 }
  20.                         });
  21.                 }
  22.                
  23.                 //标准XMLHttpRequest,可能会有跨域问题
  24.                 function GetXmlRequest(){
  25.                         var starttime = curtime();
  26.                         var xhr = new XMLHttpRequest();
  27.                         xhr.onreadystatechange = function(){
  28.                                 if(xhr.readyState == 4){
  29.                                         if(xhr.status == 200){
  30.                                                 alert('用时:' + (curtime() - starttime) + "毫秒\n请求结果:\n" + xhr.responseText);
  31.                                         }else{
  32.                                                 alert('请求失败:\n状态码:' + xhr.status + "\n结果:" + xhr.responseText);
  33.                                         }
  34.                                 }
  35.                         }
  36.                         xhr.open('GET', ajaxurl, true);
  37.                         xhr.send(null);
  38.                 }
复制代码
通过弹出的对话框可以很明显的看出,在同样网络环境下,两者并无差别,在许多内部业务的服务器场景下,api.ajax甚至更快。



23
帖子
1
勋章
988
Y币
ajax没毛病
您需要登录后才可以回帖 登录

本版积分规则