首页 > 解决方案 > 所有 Web API 调用都返回 http 200,但在反应应用程序中具有未定义的结果对象

问题描述

我有一个 ASP.NET + React 应用程序,它在本地运行良好,并且在之前托管的 Azure 服务器中运行良好。现在,我正在尝试使用 Windows Server 在 VPS 中发布应用程序。页面加载正常,反应组件正常工作。

但是,任何涉及 Web api 调用的操作都会返回一个未定义的 结果对象,尽管它已成功执行并返回 HTTP 200。为了进行 api 调用,我axios从客户端使用。

下面我分享一个示例 api 调用。出于某种原因,当我使用 Firefox 调试它时,所有变量似乎都是undefined. 但是,正如您在下面的第二张图片中看到的那样,Request Payload使用预期值正确设置。

在此处输入图像描述 在此处输入图像描述

这是响应选项卡:

在此处输入图像描述

下面是另一段代码,显示了进行 api 调用的轴代码。虽然调用成功,但返回的结果对象是undefined.

在此处输入图像描述

我怀疑服务器和 IIS 中的某些配置会导致这种情况。否则,我将无法在以前的服务器或本地主机上工作。我很感激任何帮助!

标签: asp.netreactjsiisasp.net-web-apiaxios

解决方案


发布请求的响应传递了content-type您不期望的不同。

如果您说该代码可以在以前的服务器上运行,请尝试告诉 axios 您期望的是application/jsona text/html

axios({
  method: 'post',
  headers: {
      'Content-Type': 'application/json'
  },
  url: '' // your api,
  data: {}
})

推荐阅读