具有不同参数的Axios GET请求将被丢弃

时间:2018-09-20 10:23:54

标签: javascript reactjs http web axios

我有一个React应用程序使用Axios启动GET请求。出于某种原因,当存在带有不同参数的请求时,只有带有一种类型的参数的请求才能在chrome dev工具中进行任何跟踪。我检查了“控制台”和“网络”选项卡,没有任何请求。

该应用程序显示了一个地图,其中我按图块加载数据,因此我的请求如下所示:

http://SERVER_IP:1002/data/tile/6/15/39?param1=8&param2=paramValue1
http://SERVER_IP:1002/data/tile/6/15/40?param1=8&param2=paramValue1
http://SERVER_IP:1002/data/tile/6/15/41?param1=8&param2=paramValue1

http://SERVER_IP:1002/data/tile/6/15/39?param1=8&param2=paramValue2
http://SERVER_IP:1002/data/tile/6/15/40?param1=8&param2=paramValue2
http://SERVER_IP:1002/data/tile/6/15/41?param1=8&param2=paramValue2

这是我的代码:

return axios.get(
    serviceURL,
    {
      cancelToken: source.token,
      timeout: 20000,
      params: {
        param1,
        param2,
      },
    })
    .then(resolveRequest())
    .catch(handleErrors());

当应用启动带有paramValue1或paramValue2的请求时,它们会正确处理,但是当我同时具有两个param值的请求时,paramValue1请求就不会留下任何痕迹。有什么想法吗?

注1:我的服务层当前使用HTTP / 1.1。

注2:对于不熟悉图块的人来说,这只是将地图划分为正方形区域的一种方法,从而可以方便地按块加载数据。

1 个答案:

答案 0 :(得分:0)

问题是管理axios令牌时出错。我将正在进行的请求的令牌存储在地图中。我忘记使用添加的新参数来更新地图键。为每个请求使用唯一的标识符可以解决问题。