欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

原生Javascript使用fetch发起请求_模拟get|post|文件流下载等

程序员文章站 2024-01-14 20:30:40
有时候,我们无法借助熟悉的jquery发起请求,原生JS里是支持fetch函数的,这是个高度封装的方法,帮助我们做了很多底层的封装,下面列举一些发起请求的示例: 1-发起Get请求: //httpGet请求 var httpGet = async function (getUrl) { var op ......

  有时候,我们无法借助熟悉的jquery发起请求,原生js里是支持fetch函数的,这是个高度封装的方法,帮助我们做了很多底层的封装,下面列举一些发起请求的示例:

 

  1-发起get请求:

//httpget请求
    var httpget = async function (geturl) {
        var opts = {
            method: "get",
            credentials: 'include' // 强制加入凭据头
        }
        await fetch(geturl, opts).then((response) => {
            return response.text();
        }).then((responsetext) => {
            result = responsetext;
        }).then((error) => {

        });
        return result;
    };

 

  2-发起get文件流-支持设置保存文件名-下载:

    //执行httpget下载
    var httpdownloadfile = async function (geturl, filename) {
        var opts = {
            method: "get",
            credentials: 'include' // 强制加入凭据头
        }
        await fetch(geturl, opts).then((response) => {
            return response.blob();
        }).then((blob) => {
            var url = window.url.createobjecturl(blob);
            var a = document.createelement('a');
            a.href = url;
            a.download = filename;
            a.click();
            window.url.revokeobjecturl(url);
        }).then((error) => {

        });
    };