A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵太云 中级黑马   /  2013-7-16 20:33  /  1343 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 赵太云 于 2013-7-18 18:48 编辑

    以下是代码:   问题是ajax对象是什么时候被创建的?是怎么样进行创建的?又是何时销毁的呢?
  1. window.onload=function(){
  2.         document.getElementById("button1").onclick=function(){
  3.                 var xhr = createXHR();
  4.                
  5.                 xhr.open("get","/js03/servlet/AjaxServlet?name='zhaotaiyun'&time="+new Date().getTime());
  6.                 xhr.send(null);//send不能少
  7.                
  8.                 xhr.onreadystatechange=function(){
  9.                         if (4==xhr.readyState){
  10.                                 if (200 == xhr.status){
  11.                                         var message = xhr.responseText;
  12.                                         //innerHTML这个大小不能写错
  13.                                         document.getElementsByTagName("div")[0].innerHTML=message;
  14.                                 }
  15.                         }
  16.                 }
  17.         };
  18. }

  19. //创建ajax引擎对象。

  20. function createXHR(){
  21.         var xhr = null;
  22.         if (window.ActiveXObject){
  23.                 xhr = new ActiveXObject("Microsoft.XmlHttp");
  24.         }else {
  25.                 xhr = new XMLHttpRequest();
  26.         }
  27.         return xhr;
  28. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 淡定

查看全部评分

8 个回复

倒序浏览
本帖最后由 py强子 于 2013-7-17 00:10 编辑

ajax对象是在 第三行var xhr = createXHR();创建的;
createXHR()函数功能就是创建XMLHttpRequest对象,也就是ajax对象;

XMLHttpRequest在不同的浏览器中创建方式不一样,而为了同时支持IE和非Microsoft浏览器,可以使用通用代码实现:
var request=false;
function createRequesta(){
  try{
   request=new XMLHttpRequest();
  }
  catch(trymicrosoft)
  {
   try
   {
    request=new ActiveXObject("Msxml2.XMLHTTP");
   }
   catch(othermicrosoft)
   {
    try
    {
     request=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(failed)
    {
     request=false;
    }
   }
  }
  if(!request)
  {
   alert("err Happend");
   return null;
  }
  return request;
}

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
py强子 发表于 2013-7-16 23:54
ajax对象是在 第三行var xhr = createXHR();创建的;
createXHR()函数功能就是创建XMLHttpRequest对象,也 ...

什么时候销毁的?
回复 使用道具 举报
赵太云 发表于 2013-7-17 08:04
什么时候销毁的?

session会话结束,XMLHttpRequest对象就被销毁。
回复 使用道具 举报
py强子 发表于 2013-7-17 09:19
session会话结束,XMLHttpRequest对象就被销毁。

好的,谢了。
回复 使用道具 举报
   呵呵,等着技术分,给了就 “已解决”   {:soso_e104:}
回复 使用道具 举报
   呼叫版主,急需技术分。。。。{:soso_e149:}
回复 使用道具 举报
赵太云 发表于 2013-7-17 10:36
呵呵,等着技术分,给了就 “已解决”

技术分会有滴,如果解决了还望改为已解决哦,谢谢
回复 使用道具 举报
神之梦 发表于 2013-7-18 15:39
技术分会有滴,如果解决了还望改为已解决哦,谢谢

:kiss::kiss::kiss::kiss::kiss::kiss:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马