reactjs Postman :您需要启用JavaScript才能运行此应用程序

cbjzeqam  于 2022-11-04  发布在  React
关注(0)|答案(5)|浏览(1309)

我在一个新项目中从后端团队得到了一个新的API,当我调用该API时,它返回“您需要启用java...",而我以前在另一个项目中使用过Postman ...它与API、服务器或其他东西有关吗?

lztngnrs

lztngnrs1#

我花了一些时间思考这种恐惧...然后突然我意识到发生了什么事...
1.端点不存在,可能是拼写错误
1.不在您预期的同一目录中,请尝试在url开头添加或删除“/”,特别是在您未指定主机名的情况下,即fetch('getusername')fetch('/getusername')不同。这在开发中是可以接受的,但在已部署时则不可接受,因为它指向不同的路径。
1.该端点在开发中可能工作正常,但在生产/登台中的某个地方,它生成了一些异常。

y1aodyip

y1aodyip2#

我不认为POSTMAN能够在控制台中执行JavaScript。尝试在Web浏览器中执行相同的操作,它将工作(您不会看到此错误消息)。

8ftvxx2r

8ftvxx2r3#

我更新了 Postman ,现在它工作了。我不知道这是因为更新或重新启动。

yx2lnoni

yx2lnoni4#

我在Visual Studio 2022中使用新模板为带有.NET Core的React应用程序构建的项目中遇到了这个问题。
在我的例子中,我只得到了响应“You need to enable JavaScript to run this app”,并调用了我添加的一个新控制器。调用内置的WeatherForecastController工作得很好。我的新控制器的配置与内置控制器相同,所以我不知道为什么会发生这种情况。这与这个项目模板如何创建React应用程序和后台应用程序有关。setupProxy.js文件定义了应该转发到API的路由,所有其他路由都被重定向到index.html,这实际上就是我的例子,因为我的新控制器没有被添加到setupProxy.js,中间件将请求重定向到index.html,并且因为它来自Postman而不是浏览器,所以会显示有关启用JavaScript的消息。
解决方案是每个控制器必须在setupProxy.js中显式Map,否则将无法正确代理。在进行此更改后,它在Postman中以及从React应用程序获取调用中运行良好。

const context =  [
  "/weatherforecast", // built-in controller than comes with the project template in VS2022
  "/recaptcha" // controller I created (this line must be added)
];
snvhrwxg

snvhrwxg5#

在使用 Postman 调用REST API时,如果您错过了端点,则也会出现此问题,请将端点添加到URL并检查

相关问题