码迷,mamicode.com
首页 > Web开发 > 详细

ajax小白理解

时间:2018-11-21 22:20:03      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:dos   pwc   没有   tde   put   stc   hpa   bsp   new   

ajax    刚需
题外话:某一个事物的产生都是一个问题的解决
思考:
为什么新打开一个网页很慢?
1,网络环境问题
2,为了解决多余的无用的网络请求
 
为了解决打开网页很慢这个问题,IE最早使用了一个叫 ActiveObject()的插件,这个插件可以实现无刷新的页面加载,但最后被ajax取代。
AJAX
ajax全称: AsynchronousJavaScript and XML
延展:
setInterval()计时器=>dom    取代flash    插件永远会被原生取代,只是时间问题。
 
AJAX原理层:
webservice 
1.webservice架构里一定会把你的敏感信息存在后端    目标是用户无法直接操作;
2.数据操作放在后端
3.js获取数据
4.js操作浏览器发起http/https请求    请求是携带信息的请求,根据后端的逻辑得到相应的返回值
技术分享图片
 
一句话描述ajax的作用?
控制浏览器发送http或者https请求
 
1.http请求发送的第一种实现方案:
1,src;***
      link href;
2,js操作location 对象实现请求            (地址栏:location)
 
浏览器给我们提供了API    http请求发送的对象
 
var xhr = new XMLHttpRequest()
XML 一种数据载体;
HTTP 一个请求协议;
Request 请求;
XMLHttpRequest:用白话说就是:带着xml以http的方式发起请求的工具;
 
针对ajax的理解可以联想打电话
第一:我们要有一个手机
var xhr = new XMLHttpRequest()
第二:配置一下手机
xhr.open(‘get‘,‘http://www.baidu.com‘,true)
        //函数参数有三个:请求方式,请求地址,是否异步请求(同步请求的情况特别少)
第三:拨号键    让浏览器发起http请求
var.send(null)
第四:等待接通
xhr.onreadystatechange = function(){
        if(xhr.readyState === 4){
            // 表示电话接通了;
                if(xhr.status === 200){
                    // 彻底成功了,我们的数据已经得到并可以正常使用了。
                    // 获取信息;
                    console.log(xhr.response)
                }
          }
  }
open() 函数参数有三个:请求方式,请求地址,是否异步请求(同步请求的情况特别少)
http的请求方式:GET和POST
POST 和 GET 的区别?
1. 用来干啥的;    POST 发送数据时用的;    GET 接受数据是用的;
2. 报文;   post包括header  body;    get只有header
3.性能不同:get的性能更好;
请求地址(路径)
1. 绝对路径; http | https
2. 相对路径;
等待接通(监听服务器是否返回数据)
触发onreadystatechange事件
xhr.readyState => 表示 xhr 的状态
0 :请求未初始化(还没有调用open())
1 :请求已经建立,但是还没有发送(还没有调用send())
2 :请求已发送,正在处理中(通常现在可以从响应中获取内容头)
3 ;请求在处理中,通常响应中已有部分数据可用了,但是服务器还不有完成响应的生成。
4 :响应已完成,您可以获取并使用服务器的响应了。
4 => 代表成功
请求结果:xhr.status
可以得到一个http 状态码
 
报文了解:
技术分享图片
技术分享图片
延展:http请求方式(常用的有八个)    最常用的两个post get
面试题;
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
 
ajax    无刷新加载页面
 

ajax小白理解

标签:dos   pwc   没有   tde   put   stc   hpa   bsp   new   

原文地址:https://www.cnblogs.com/hhrr1/p/9997782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!