`
newleague
  • 浏览: 1472691 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

ajax 回调 多浏览器

阅读更多

var xmlHttp;
  
     function getxml(){
      if(window.XMLHttpRequest) {
          xmlHttp = new XMLHttpRequest();
          if (xmlHttp.overrideMimeType) {
              xmlHttp.overrideMimeType("text/xml");
          }
      }
      else if (window.ActiveXObject) {
          try {
              xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
              try {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              } catch (e) {}
          }
      }
      if (!xmlHttp) {
          window.alert("can't create XMLHttpRequest object.");
          return null;
      }
      return xmlHttp;
      }
  
  
  function getModel(){
   xmlHttp=getxml();
   var makeName = document.getElementById("makeName").value;
   var yearName = document.getElementById("yearName").value;
   var url = "<%=request.getContextPath()%>/website/index.do?method=getModel&makeName="+makeName+"&yearName="+yearName;
   xmlHttp.open("POST",url,false);
   xmlHttp.send(null);
   xmlHttp.onreadystatechange = callback();
   
  }
  
  function callback(){
   if(xmlHttp.readyState==4){
    if(xmlHttp.status==200){
     getModelResponse();
     xmlHttp = null;
    }
   }
  }
  
  function getModelResponse(){
   clearModelList();
   var modelNames = xmlHttp.responseXML.getElementsByTagName("modelName");
   
   var dlcModel = document.getElementById("modelName");
   var option = null;
   for(var i=0;i<modelNames.length;i++){
    option = document.createElement("option");
    option.appendChild(document.createTextNode(modelNames[i].firstChild.nodeValue));
    option.value = modelNames[i].firstChild.nodeValue;
    dlcModel.appendChild(option);
   }
  }
 
   function clearModelList(){
    var model = document.getElementById("modelName");
    while(model.childNodes.length>0){
     model.options.length = 0
    }
   }

分享到:
评论

相关推荐

    监听浏览器滚动条 回调加载

    如果回调用于ajax,例如分页,应该控制好ajax顺序

    ajax回调打开新窗体防止浏览器拦截有效方法

    主要为大家详细介绍了ajax回调打开新窗体防止浏览器拦截的有效方法,感兴趣的朋友可以参考一下

    微软ASP.NET AJAX框架剖析

    微软ASP.NET AJAX框架剖析 大约在2006年年初,AJAX迅速成为Web 2.0开发中的一个热点,也成为开发以用户为中心的Web应用程序事实上的标准。...但归结来看,所有AJAX产品不外乎三大类型:回调框架、UI框架和完整框架。

    isolda-browser-ajax:一个浏览器请求包装器,适合作为 Backbone.ajax 的替代品

    IsoldaJS 浏览器 AJAX 这是一个简单的( ~3Kb缩小和 gzipped) ajax函数实现,适合作为插入替换。 例如,当您在没有 jQuery 的情况下使用 Backbone 时。... success — 成功回调,将响应主体作为单个参数

    Ajax原理分析及其实现的简单代码

    让更多人了解ajax技术.function _open(requestUrl) { var xmlHttp = false; var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2....

    Ajax请求响应中用window.open打开新窗口被拦截的解决方法

     浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了,即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger(‘click’)),浏览器也会认为不是由用户...

    【卷一/共两卷】AJAX实战pdf高清版90M

    2.5.4 使用回调函数监视请求 2.5.5 完整的生命周期 2.6 Ajax有何不同 2.7 小结 2.8 资源 第3章 使AjaX秩序井然 3.1 从混沌到秩序 3.1.1 模式:创造通用的词汇表 3.1.2 重构与Ajax 3.1.3 保持均衡 3.1.4 重构实战 3.2...

    IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

    前面介绍了《Javascript基于AJAX回调函数传递参数》,这里主要来分析一下ajax传递中文参数过程中针对不同浏览器的乱码处理方法。 Ajax传递参数为中文时出现乱码,我遇到的情况是: 1.我的数据库连接 编码为 GB2312,...

    ajax经典怎样传输数据

    success: function(xml) { // 请求成功后回调函数 参数:服务器返回数据,数据格式. $("#users").empty(); // 用Jquery处理xml数据 $(xml).find('Table').each(function() { var loginname = $(this).find(...

    Ajax异步提交数据返回值的换行问题实例分析

    前面分析介绍了《Javascript基于AJAX回调函数传递参数》及《IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别》,学习了ajax回调函数传参与针对不同浏览器处理中文乱码问题的方法。这里就来分析一下ajax异步提交...

    一个客户端的验证小程序ajax

    //第四步 设置服务器在完成后要运行的函数(设置回调函数) req.onreadystatechange = getReadyStateHandler; //req.onreadystatechange = getReadyStateHandler(); //req.onreadystatechange = ...

    jQuery可智能缓存响应数据的ajax调用插件

    Smartjax是一款可以将ajax请求的内容进行智能缓存的jQuery插件。Smartjax.ajax()可以将ajax的回调内容缓存在浏览器中,再次进行相同url的ajax调用时,不会在向服务器发送请求,而是读取本地的缓存。

    FileDrop:用于拖放和AJAX(多)文件上传的自包含跨浏览器纯JavaScript类

    没有JS依赖项,Flash或Java小程序900行代码,1300行注释缩小16 KiB ,压缩6 KiB HTML5,用于现代浏览器的拖放适用于旧版代理(IE 6+)的IFrame后备具有超过15个回调的灵活事件系统一页上有多个独立的FileDrops 准备...

    ajax-data-model:ajax 通用数据请求处理模型。提供 ajax 请求、数据缓存、通用性接口约定处理等能力

    基于接口约定的通用回调处理支持(通用错误处理、loading 状态、通用参数、埋点上报&lt;接口超时、接口错误、接口异常、数据埋点等&gt;...) 快速开始 1. 下载安装 手动下载:到代码仓库下载 的 zip 包,取得 dist 目录内...

    ajax请求返回的数据看不到回调函数没有执行也没报错

    项目用的是ssh,使用jquery的$.post访问struts2的Action,...数据都到action里了,但是回调函数没有执行,并且使用浏览器调试也没看到返回的数据,最后找了半天,原因如下: jquery在解析返回的Collection集合时,看到

    ajax:另一个AJAX请求助手

    进度事件的自定义回调 易于使用的transport方式:向用户询问文件并上传 object , FormData或HTMLFormElement数据 安装 您可以通过NPM或Yarn安装此软件包 npm install @codexteam/ajax yarn add @codexteam/ajax 在...

    js-ajax-ajax-and-callbacks-lab-v-000

    AJAX和回调实验室目标使用Ajax的get方法使用success回调使用error回调阅读API文档介绍让我们通过制作GitHub存储库搜索客户端来发挥我们的新Ajax技能。 本实验将测试您将jQuery的$.get函数与回调一起使用的能力,并为...

    ajax的工作原理以及异步请求的封装介绍

    Ajax原理: 客户端通过浏览器的内置对象XMLHttpRequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript操作DOM来更新页面,异步请求不会阻塞客户端的操作,达到页面...

    ajax,javascript

    //设置回调函数,每当 readyState 改变时,就会触发 onreadystatechange 事件。 d.request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//如果带参数,请求头文件 e.request.send(u); /...

Global site tag (gtag.js) - Google Analytics