热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ajax小結

Ajax觀點明白全稱:Ajax是對AsynchronousJavascript+XML的簡寫。作用:能夠向服務器要求分外的數據而不必卸載頁面,會帶來更好的用戶體驗。手藝中心:XML

Ajax

觀點明白

  • 全稱:Ajax是對Asynchronous Javascript + XML的簡寫。
  • 作用:能夠向服務器要求分外的數據而不必卸載頁面,會帶來更好的用戶體驗。
  • 手藝中心:XMLHttpRequest對象(簡稱XHR)。XHR為向服務器發送要求和剖析服務器相應供應了流通的接口。能夠以異步體式格局從服務器獲得更多信息,意味着用戶單擊后,能夠沒必要革新頁面也能獲得新數據。即能夠運用XHR對象獲得新數據,然後再經由歷程DOM將新數據插進去到頁面中。
  • 數據花樣:雖然名字中包括XML的身分,但Ajax通訊與數據花樣無關。這類手藝就是不必革新頁面即可從服務器獲得數據,但不一定是XML數據。

建立Ajax

  1. 建立XMLHttpRequest對象

    var xhr;
    if (window.XMLHttpRequest){ //IE7+, Firefox, Chrome, Opera, Safari
    xhr=new XMLHttpRequest();
    }else{ // 兼容 IE6, IE5
    xhr=new ActiveXObject("Microsoft.XMLHTTP");
    }

  2. 關於異步要求,沒必要守候服務器相應,JS代碼繼承實行。
    能夠檢測XHR對象的readyState屬性,該屬性示意要求/相應歷程的當前運動階段。

    0:未初始化。還沒有挪用open()要領。
    1:啟動。已挪用open()要領,還沒有挪用send()要領。
    2:發送。已挪用send()要領,還沒有吸收相應。
    3:吸收。已吸收到部份相應。
    4:完成。已吸收到悉數相應數據。

    只需readyState屬性的值由一個值變成另一個值,就會觸發onreadyStatechange事宜,應用這個事宜來檢測每次狀況變化后readyState值,獵取服務器的相應也在這個事宜中處置懲罰。

    xhr.OnreadyStatechange= function(){
    If(xhr.readyState == 4){
    if(xhr.status >=200 && xhr.status = 304){
    alert(xhr.responseText);
    }else{
    alert(“Request was unsuccessful: ”+ xhr.status);
    }
    }
    };

  3. 建立一個新的HTTP要求,並指定要求的要領、URL及異步(true)/同步(false)

    xhr.open(method,url,async);
    注重:open 的參數要切記,許多面試官愛問如許的細節
    1)method:要求的範例;GET 或 POST
    2)url:文件在服務器上的位置
    3)async:true(異步)或 false(同步)
    注重:post要求一定要設置要求頭的花樣內容
    xhr.open("post","ajax_test.html",true);
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //運用XHR模擬表單提交
    xhr.send("fname=Henry&lname=Ford");

  4. 發送HTTP要求

    xmlhttp.send();
    如果post要求,參數為作為要求主體發送的參數。
    如果get要求,參數為null。

  5. 獵取同步發送要求返回的數據

    if ((xhr.status >= 200 && xhr.status <300) || xhr.status == 304){
    alert(xhr.responseText);
    }else{
    alert(“Request was unsuccessful: ”+ xhr.status);
    }

  6. 運用Javascript和DOM完成部分革新

推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • PHP中的单例模式与静态变量的区别及使用方法
    本文介绍了PHP中的单例模式与静态变量的区别及使用方法。在PHP中,静态变量的存活周期仅仅是每次PHP的会话周期,与Java、C++不同。静态变量在PHP中的作用域仅限于当前文件内,在函数或类中可以传递变量。本文还通过示例代码解释了静态变量在函数和类中的使用方法,并说明了静态变量的生命周期与结构体的生命周期相关联。同时,本文还介绍了静态变量在类中的使用方法,并通过示例代码展示了如何在类中使用静态变量。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 如何优化Webpack打包后的代码分割
    本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ... [详细]
  • python+selenium十:基于原生selenium的二次封装fromseleniumimportwebdriverfromselenium.webdriv ... [详细]
author-avatar
Fxnananana
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有