zoukankan      html  css  js  c++  java
  • http请求

    一、http请求中get、post、put、delete的使用场景分别是什么?

    Get:get请求会向数据库发起索取数据的请求,从而获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

    Post:post请求是向服务端发送数据的,该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

    Put:PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

    Delet:用来删除某一个资源的,该请求就像数据库的delete操作。

    二、如何使用浏览器取消一个正在请求的ajax

    原生XHR:

    var native=new XMLHttpRequest();
    navive.open("GET","https://api.github.com");
    native.send();
    native.onreadystatechange=function(){
     if(native.readyState==4&&native.status==200){
            console.log(native.response);       
        }else{
            console.log(native.status);
        }
    }
    native.abort();//取消请求

    Axios取消请求:

    const CancelToken=axios.CancelToken
    let call:
    axios.get('/user/12345',{
    cancelToken:new CancelToken(
    // executor 函数接收一个 cancel 函数作为参数,这个参数 c 就是CancelToken构造函数里面自带的取消请求的函数,这里把该函数当参数用 cancel = c;
    )
    })
    cancel();//取消请求

    三、content-type?

    互联网媒体类型;在http协议消息头中,使用Content-Type来定义具体请求的媒体类型信息。

    application/json:消息主体是序列化后的 JSON 字符串

    application/x-www-form-urlencoded: 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 form 表单,如果不设置 enctype 属性, 那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求的时候,首先,Content-Type 被指定为 application/x-www-form-urlencoded; 其次,提交的数据按照 key1=val1&key2=val2 的方式进行编码。 大部分服务端语言都对这种方式有很好的支持。

    multipart/form-data: 我们使用表单上传文件时,必须让 form 的 enctyped 等于这个值。

    如果数据是简单、平面的key-value键值对,那么使用application/x-www-form-urlencoded简单实用,不需要额外的编解码

    如果数据是复杂的嵌套关系,有多层数据,那么使用application/json会简化数据的处理

    勤学似春起之苗,不见其增,日有所长; 辍学如磨刀之石,不见其损,日所有亏!
  • 相关阅读:
    .NET 4.5 is an in-place replacement for .NET 4.0
    python Argparse模块的使用
    linux的fork(), vfork()区别
    Linux 的 strace 命令
    NTFS系统的ADS交换数据流
    Git和.gitignore
    GIT常用命令
    OSChina码云试用
    tcpdump用法
    linux网卡混杂模式
  • 原文地址:https://www.cnblogs.com/qiaozhiming123/p/15607870.html
Copyright © 2011-2022 走看看