为什么提取查询总是返回错误段?

Why is fetch query always returning error segment?

我正在使用 react-native 移动应用程序中的以下代码对 dj-rest-auth 本地 link 进行社交身份验证调用。但是我总是收到错误消息。请告诉我问题是什么。

  fetch(
    "http://localhost:8000/dj-rest-auth/facebook/",
    {
      method: "POST",
      headers: {
        'Accept': 'application/json',
        'Content-type':'application/json'
      },
      xsrfCookieName:"csrftoken",
      xsrfHeaderName:'X-CSRFToken',
      body:JSON.stringify({access_token : resolvedToken})
    }
  )
  .then(resp => resp.json())
  .then(data => {
    console.log(data);
  }  
  )
  .catch(error => console.log(error))

错误详细信息:

Network request failed
at node_modules/whatwg-fetch/dist/fetch.umd.js:535:17 in setTimeout$argument_0
at [native code]:null in callFunctionReturnFlushedQueue

备用错误更新: 如果我对 API 请求使用 axios 而不是获取,即等待 axios.post 而不是获取,那么我会收到以下错误:

Network Error
at node_modules/axios/lib/core/createError.js:16:14 in createError
at node_modules/axios/lib/adapters/xhr.js:84:24 in handleError
at node_modules/react-native/Libraries/Network/XMLHttpRequest.js:600:10 in setReadyState
at node_modules/react-native/Libraries/Network/XMLHttpRequest.js:395:6 in __didCompleteResponse
at node_modules/react-native/Libraries/vendor/emitter/EventEmitter.js:189:10 in emit
at [native code]:null in callFunctionReturnFlushedQueue

问题是找不到 resolvedToken 变量。所以我在代码之上添加了它,效果很好。

var resolvedToken = "2222";
fetch(
    "http://localhost:8000/dj-rest-auth/facebook/", {
      method: "POST",
      headers: {
        'Accept': 'application/json',
        'Content-type': 'application/json'
      },
      xsrfCookieName: "csrftoken",
      xsrfHeaderName: 'X-CSRF-Token',
      body: JSON.stringify({
        access_token: resolvedToken
      })
    }
  )
  .then(resp => resp.json())
  .then(data => {
    console.log(data);
  })
  .catch(error => console.log(error))

由于在此处调用 Django 本地服务器时使用了本地主机地址,因此遇到了错误。对于 localhost 或 127.0.0.1,问题仍然存在。

此外,接下来我尝试在我的笔记本电脑上使用移动热点,然后使用我笔记本电脑 Wi-Fi 当前分配的 IP 地址到 运行 django 服务器并对其进行 API 调用。如果使用移动热点并遇到相同的错误,这将不起作用。

然而,在使用 LAN 路由器,然后使用笔记本电脑分配的本地 Wi-Fi IP 地址后,问题得到解决。

不过这现在又产生了新问题。 API 调用成功,我仅在第一个 API 调用或第一个 运行 时收到令牌。此后我收到丢失或无效 csrf 令牌的错误。

然而,由于这是一个新问题并且与这个问题不同,我目前正在关闭这个问题。如果我无法解决新问题,我可能会提出新问题。