同时请求两个接口——使用$(when)

需求:
有时遇到一条数据,需要请求两个接口 ,两个接口都请求成功,才能拿到数据

注:别问为什么不合并成一个接口,因为后端没时间,遇到这种奇葩需求,就需要我们前端工程师,特事特办了,

jquery解决方案:使用$.when()

参考官方文档:https://www.jquery123.com/jQuery.when/

代码:

 $.when(
      COMMON.ajaxItem(url_data, params),COMMON.ajaxItem(url_video, params)
    ).done(function (dataBasic, dataVideo) {
            console.log(dataBasic[0].data);//第一个接口返回值
            console.log(dataVideo[0].data);  //第二个接口返回值
        })

ajaxItem是我封装的ajax方法,代码如下:

    ajaxItem: function (url, params) {
        return $.ajax({
            type: "POST",
            url: url,
            contentType: "application/json;charset=UTF-8",
            data: JSON.stringify(params),
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                console.error("-------");
                console.error("状态码:" + XMLHttpRequest.status);
                //状态:
                //   0-未初始化
                //   1-正在载入
                //   2-已经载入
                //   3-数据进行交互
                //   4-完成
                console.error("状态:" + XMLHttpRequest.readyState);
                console.error("错误信息:" + XMLHttpRequest.statusText);
                console.error("返回响应信息:" + XMLHttpRequest.responseText);
                console.error("请求状态:" + textStatus);
                console.error(errorThrown);
                console.error("请求失败");
            },
        })
    },
上一篇:[C#]“System.InvalidOperationException”类型的未经处理的异常在 System.Console.dll 中发生


下一篇:英语入门班第十八课-②特殊疑问句 whose、when、whom、which、how 的用法