美文网首页
js网络请求汇总

js网络请求汇总

作者: 忘了呼吸的那只猫 | 来源:发表于2022-09-22 15:06 被阅读0次

1.原生XHR

var xhr = new XMLHttpRequest()
xhr.open(method,  uri,  true)
xhr.send('body')//请求主体(上传的参数)
xhr.onreadystatechange = function(){        
    if(xhr.readyState===4){     
        if(xhr.status===200){ //响应完成且成功     
            console.log(xhr.responseText);
        }else{  //响应完成但不成功
            alert('响应完成但失败!'+xhr.status);
        }       
    }       
}

2.JQuery--AJAX

//需引入JQuery <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
$.ajax({
    url: '/add/',  // 请求地址
    method: 'post',  // 请求方式
    data:{'a':$("#first").val() ,'b':$("#second").val() },  //  获取input标签数据
    success:function (data) {
        //成功触发
    },
    error:function (error) {
        //失败,触发
    }
})

好处:可以将对象数据自动序列化成对应的请求头对应形式的数据

3.原生fetch

  • Fetch API是新的ajax解决方案Fetch会返回Promise
  • fetch不是ajax的进一步封装,而是原生js,没有使用XMLHttpRequest对象

语法:fetch(url, options).then()

fetch(url, {
    //body: JSON.stringify(data), // body(上传的数据)需要对应header中的'Content-Type',序列化成不同的字符串形式
    body:'key=value&key=value',
    headers: {
        //'content-type': 'application/json'
        'content-type':'application/x-www-form-urlencoded'
    },
    method: 'POST', // *GET默认get请求, POST, PUT, DELETE, etc.
})

4.axios

  • Axios 是一个基于 promiseHTTP 库,可以用在浏览器和 node.js
  • 特点:
    • 从浏览器中创建 XMLHttpRequests
    • node.js 创建 http 请求
    • 支持 Promise API
    • 拦截请求和响应
  1. 语法
    ①. 安装:npm install axios -S
    或者静态引入:<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

    ②. 使用请求方式
    get方式

            // 为给定 ID 的 user 创建请求
                axios.get('/user?ID=12345')
                .then(function (response) {
                    console.log(response);
                })
                .catch(function (error) {
                    console.log(error);
                });

                // 可选地,上面的请求可以这样做
                axios.get('/user', {
                    params: {
                    ID: 12345
                    }
                })
                .then(function (response) {
                    console.log(response);
                })
                .catch(function (error) {
                    console.log(error);
                });
        post方式 

            axios.post('/login',qs.stringify({
                user:'xxx',
                pwd:'密码'
            }))
            .then(res=>{
                console.log(res);
                console.log(res.data);
            })

③. 执行多个并发请求

       function getUserAccount() {
           return axios.get('/user/12345');
       }

       function getUserPermissions() {
           return axios.get('/user/12345/permissions');
       }

       axios.all([getUserAccount(), getUserPermissions()])
           .then(axios.spread(function (acct, perms) {
               // 两个请求现在都执行完成
       }));

相关文章

  • js网络请求汇总

    1.原生XHR 2.JQuery--AJAX 3.原生fetch Fetch API是新的ajax解决方案Fetc...

  • JavaScript 执行机制

    五个线程 js引擎线程: 执行js代码GUI线程: 绘制用户界面http网络请求线程: 处理网络请求, 等请求返回...

  • Okhttp与Retrofit技术详解

    知识点汇总: 一:Retrofit项目介绍与实现网络请求原理 二:Okhttp的项目介绍与实现网络请求的原理 三:...

  • IOS网络请求报错返回码

    按 shift+cmd+o 搜索 CFNetworkErrors iOS 网络请求返回错误码汇总 ios底层网络...

  • 2018-03-09

    小程序网络请求封装示例 fetch.js bdidu.js douban.js wechat.js util.js

  • 微信小程序网络请求工具类封装

    1、定义接口及基础请求地址的文件config.js 2、网络请求文件netUtils.js 3、按照page页面或...

  • JS网络请求跨域问题汇总(携带饼干)

    前端程序使用ExtJS的写,在本地测试,发送请求到服务器时,发现存在跨域的问题,饼干也没有一套成功,于是乎在这里整...

  • js网络请求跨域问题汇总(携带cookie)

    前端程序使用extjs写,在本地测试,发送请求到服务器时,发现存在跨域的问题,cookie也没有set成功,于是乎...

  • [JS] Ajax网络请求

    最近在学js 有幸听了海牙老师的直播讲课 所以在这里整理一下Ajax的POST请求和GET请求 我先说一下ajax...

  • 前端优化之网络请求。

    前端的网络请求的话包含,css,js,img的请求。也包含ajax发起的请求(简单请求和预检请求)。 资源请求 1...

网友评论

      本文标题:js网络请求汇总

      本文链接:https://www.haomeiwen.com/subject/pebwortx.html