热门标签 | 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完成部分革新

推荐阅读
  • 本文深入探讨了Ajax的工作机制及其在现代Web开发中的应用。Ajax作为一种异步通信技术,改变了传统的客户端与服务器直接交互的模式。通过引入Ajax,客户端与服务器之间的通信变得更加高效和灵活。文章详细分析了Ajax的核心原理,包括XMLHttpRequest对象的使用、数据传输格式(如JSON和XML)以及事件处理机制。此外,还介绍了Ajax在提升用户体验、实现动态页面更新等方面的具体应用,并讨论了其在当前Web开发中的重要性和未来发展趋势。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 如何在页面底部添加倾斜样式效果? ... [详细]
  • 本文探讨了如何通过检测浏览器类型来动态加载特定的npm包,从而优化前端性能。具体而言,仅在用户使用Edge浏览器时加载相关包,以提升页面加载速度和整体用户体验。此外,文章还介绍了实现这一目标的技术细节和最佳实践,包括使用User-Agent字符串进行浏览器识别、条件加载策略以及性能监控方法。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 在第10天的夜灵HTML日志中,我们深入探讨了浏览器兼容性和高级选择器的应用。CSS3引入了许多新属性,但在旧版浏览器中的支持情况并不理想。然而,目前主流浏览器的最新版本已全面支持这些新特性。对于那些不支持CSS3新属性的浏览器,我们提供了多种解决方案,以确保网站在不同环境下的兼容性和用户体验。此外,我们还详细讨论了如何利用高级选择器提升页面布局的灵活性和可维护性。 ... [详细]
  • CSS中的pointer-events属性详解与应用
    在CSS中,`pointer-events`属性是一个非常实用但常被忽视的功能。它主要用于控制元素是否响应鼠标事件。当一个元素覆盖在其他元素之上时,通过设置`pointer-events`属性,可以决定该元素是否能够接收鼠标点击、悬停等交互操作,从而实现更灵活的用户界面设计。例如,将`pointer-events`设置为`none`可以使元素透明地传递鼠标事件,方便实现复杂的叠加效果和交互逻辑。 ... [详细]
  • 可转债数据智能抓取与分析平台优化
    本项目旨在优化可转债数据的智能抓取与分析平台。通过爬取集思录上的可转债信息(排除已发布赎回的债券),并结合安道全教授提出的三条安全线投资策略,新增了建仓线、加仓线和重仓线,以提供更精准的投资建议。 ... [详细]
  • 【Python爬虫实操】 不创作小说,专精网站内容迁移,超高效!(含源代码)
    本文详细介绍了如何利用Python爬虫技术实现高效网站内容迁移,涵盖前端、后端及Android相关知识点。通过具体实例和源代码,展示了如何精准抓取并迁移网站内容,适合对Python爬虫实战感兴趣的开发者参考。 ... [详细]
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社区 版权所有