axios DELETE请求后请求挂起

xiozqbni  于 2022-12-12  发布在  iOS
关注(0)|答案(1)|浏览(230)

我正在使用Reactjs,我在发送请求时遇到了问题,上周一切都运行得很好,然后我开始面临请求问题。当我发送GET,PUT,POST请求时,一切都运行正常,没有问题,当我发送DELETE请求时,它被发送,我收到状态为204的响应,但我发送后的任何类型的请求,它永远停留在挂起状态,永远不会到达后端服务器。我厌倦了不同的项目相同的问题,不同的PC相同的问题。当我从另一台PC访问我的开发服务器时,一切都工作得很完美,没有问题,看起来只有当我从开发服务器所在的同一台机器上发送请求时,才会出现问题。我拉了一个旧版本的代码,我确信一切都很好,我得到了同样的问题,我试图清空缓存,不同的浏览器,我清空了整个磁盘并重新安装了Windows。我尝试了用Postman的DELETE请求,但它停留在挂起状态。我尝试了不同的后端,同样的问题。后端是Django,我没有访问后端代码,但我尝试了与 Postman 相同的过程,没有问题。
第一次

api
    .delete(`objet/front/${feature.get("featureID")}/`)
    .then((res) => {
      if (res.status === 204) {
                layer.getSource().removeFeature(feature);
      }
    })
    .catch((err) => {
      console.log(err);
    });
xdnvmnnf

xdnvmnnf1#

尝试检查您要删除的资源是否仍然存在于服务器上,如果该资源正在被删除,则只需发送超时为5或10秒的请求,如果出现错误,则会在控制台中记录,因为您在代码中使用了catch。
试试这个:

api
  .delete(`objet/front/${feature.get("featureID")}/`, {
    timeout: 10000, // Set timeout to 10 or 5 seconds
  })
  .then((res) => {
    if (res.status === 204) {
      layer.getSource().removeFeature(feature);
    }
  })
  .catch((err) => {
    // Log the error you get to the console
    console.log(err);
  });

相关问题