发表于: 2021-04-14 22:25:33

1 1074


今天完成的事情:


学习vu.ajax

安装方法

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>


// `url` 是用于请求的服务器 URL
url"/user",

// `method` 是创建请求时使用的方法
method"get"// 默认是 get

// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
baseURL"https://some-domain.com/api/",

// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 "PUT", "POST" 和 "PATCH" 这几个请求方法
// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data) {
  // 对 data 进行任意转换处理

  return data;
}],

// `transformResponse` 在传递给 then/catch 前,允许修改响应数据
transformResponse: [function (data) {
  // 对 data 进行任意转换处理

  return data;
}],

// `headers` 是即将被发送的自定义请求头
headers: {"X-Requested-With""XMLHttpRequest"},

// `params` 是即将与请求一起发送的 URL 参数
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
params: {
  ID12345
},

// `paramsSerializer` 是一个负责 `params` 序列化的函数
// (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
paramsSerializerfunction(params) {
  return Qs.stringify(params, {arrayFormat: "brackets"})
},

// `data` 是作为请求主体被发送的数据
// 只适用于这些请求方法 "PUT", "POST", 和 "PATCH"
// 在没有设置 `transformRequest` 时,必须是以下类型之一:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - 浏览器专属:FormData, File, Blob
// - Node 专属: Stream


GET 方法

        new Vue({
            el: '#app',
            data() {
                return {
                    info: null
                }
            },
            mounted() {
                axios
                    .get('https://www.runoob.com/try/ajax/json_demo.json')
                    .then(response => (this.info = response))
                    .catch(function (error) { // 请求失败处理
                        console.log(error);
                    });
            }
        })


POST 方法

        new Vue({
            el: '#app',
            data() {
                return {
                    info: null
                }
            },
            mounted() {
                axios
                    .post('https://www.runoob.com/try/ajax/demo_axios_post.php')
                    .then(response => (this.info = response))
                    .catch(function (error) { // 请求失败处理
                        console.log(error);
                    });
            }
        })


执行多个并发请求

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

        function getUserPermissions() {
            return axios.get('/user/12345/permissions');
        }
        axios.all([getUserAccount(), getUserPermissions()])
            .then(axios.spread(function (acctperms) {
                // 两个请求现在都执行完成
            }));



问题:

自己使用vue.ajax无效


返回列表 返回列表
评论

    分享到