zoukankan      html  css  js  c++  java
  • js学习总结----ajax中的http请求方式及同步编程和异步编程

    一、请求方式

    var xhr = createXHR();
    xhr.open("get","/getList?num=12",true);
    xhr.open("post","/getList",true);
    xhr.send('{"name":"zhangsan","age":7}')
    //HTTP METHOD;客户端向服务器端发送请求的方式
    //以下的请求方式不管哪一种都可以向服务器传递数据,也可以从服务器中获取到数据,从本质意义上讲以下的方式是没有任何区别的,例如用post做的事情用get也能做,而我们接下来讲的区别都是目前开发者们约定俗成的规范:
    /*
        GET:一般应用于从服务器获取数据(给服务器的数据少,从服务器拿的数据多,项目中最常用的请求方式就是get)
            使用GET请求给服务器传递内容我们一般都使用"URL问号传参的方式"
        POST:一般应用于向服务器推送数据(给服务器的多,从服务器拿下来的少)
            使用POST请求给服务器传递内容我们一般都使用"请求主体的方式"传递给服务器
        PUT:一般应用于给服务器上增加资源文件(我们上传图片功能)
        DELETE:一般应用于从服务器上删除资源文件
        HEAD:一般应用于只获取服务器的响应头信息
    */
    
    /*
        GET PK POST
        大小问题:
            GET请求传递给服务器的内容存在大小的限制,而POST理论上没有限制
            原因:GET通过URL传参给服务器,而每个浏览器对于URL的长度存在限制,谷歌8kb、火狐7kb、IE12kb的长度限制,如果URL的长度超过限制,浏览器会把超出的部分截取
        缓存的问题:
            GET请求会出现缓存(这个缓存不一定是304),POST是没有缓存的
            在项目中我们的GET请求一般不会让其出现缓存"清楚缓存":在url的末尾加一个随机数
            xhr.open("get","/getList?num=12&_="+Math.random(),true);
        安全问题
            一般来说GET不安全,而POST相对安全一些
    */

    二、同步编程和异步编程

    //同步(SYNC)和异步(ASYNC)编程
    //JS是属于单线程的,我们最好使用异步编程
    //定时器都是异步编程的
    //事件绑定都是异步编程的
    //回调函数也可以理解为异步编程
    //在AJAX中可以使用异步编程
    var count = 0;
    window.setInterval(function(){
        count++;
        console.log(count);//再输出1
    },1000)//如果定时器的时间设置为0也不是立马执行,而是需要等待一段时间,我们设定的时间是1000ms,但是不一定时间到就会执行,如果当前浏览器的线程被占用,会一直等待
    console.log(count);//先输出0
    while(1){
    
    }//加了while之后定时器里面的代码就不会执行
    
    //如果多个定时器的时间都到了,先执行时间短的这个定时器
    
    //AJAX中的同步:当AJAX任务开始的时候(XHR.SEND)需要等到readyState===4,才可以执行下面的任务
    //AJAX中的异步:当AJAX任务开始的时候(XHR.SEND)不需要等到readyState===4,我们依然可以继续做其他的任务,并且只有其他的任务完成后,我们在看是否为4,到达4的时候做一些相关的操作
  • 相关阅读:
    C++预备知识
    C++求最小公倍数
    c++编写函数,递归删除字符串中的子串,求删除次数
    ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails
    django快速搭建blog
    北邮 北理 人大经验
    C、C++、Java语言中异常处理机制浅析
    学习git部署
    各种符号的使用情况说明以及区别
    【转】通过fio工具,测试SATA,SAS,SSD 读写性能
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7269572.html
Copyright © 2011-2022 走看看