将变量值从反应构造函数传递到 nodeJS 后端
Posted
技术标签:
【中文标题】将变量值从反应构造函数传递到 nodeJS 后端【英文标题】:Passing variable value from react constructor to nodeJS backend 【发布时间】:2020-06-11 03:36:21 【问题描述】:是否可以将变量值从反应构造函数发布到 nodejs 后端。我们希望在页面加载到 nodejs 时发布某些数据并在后端执行一些功能。
constructor(props)
super(props);
const tokenFetch = localStorage.getItem("JWT");
const nameFetch = localStorage.getItem("Name");
this.state =
userLoggedIn,
name: nameFetch,
tokenFetch: tokenFetch
;
在构造函数中,我们希望将名称和 tokenFetch 发布到后端。
【问题讨论】:
除非您向我们展示一些您迄今为止尝试过的代码,否则我们无法为您提供帮助。 问题是一般我们从表单中发布数据,而这里我们要从构造函数中发布数据。因此,目前没有为该问题编写代码。更新:检查 OP 的代码 尝试向后端发出请求(get、post ...) @YashKumarVerma 是对的,但不要使用request
,在前端应用程序中使用axios
,在后端调用中最好使用request
。
但是我在哪里发出帖子请求,这就是这里的问题。因为不涉及任何形式。
【参考方案1】:
根据constructor
中的 HTTP 请求的响应来决定是否应该呈现某些元素是个坏主意。您不希望您的页面“挂起”,因为请求花费的时间比您预期的要长。
您应该将boolean
标志添加到constructor
中的状态,并根据此标志渲染您想要或不想渲染的元素。然后,你可以在componentDidMount
方法中执行你的HTTP请求,然后改变flag:
class MyComponent extends React.Component
constructor(props)
super(props);
const tokenFetch = localStorage.getItem("JWT");
const nameFetch = localStorage.getItem("Name");
this.state =
responseFromServerReceived: false,
userLoggedIn,
name: nameFetch,
tokenFetch: tokenFetch
;
componentDidMount()
axios(
method: 'post',
url: '/whereYouWantToSendData',
data: firstName: this.state.nameFetch, token: this.state.tokenFetch
).then(response =>
// Whatever you want to do with the response;
this.setState( responseFromServerReceived: true );
);
render()
const elementToRender = this.state.responseFromServerReceived
? <h1>Hello, the response of the server was received.</h1>
: <h1>Hello, the response of the server was NOT received yet.</h1>;
return (
<div>
elementToRender
</div>
);
【讨论】:
好的,我会在前端试试这个,你能不能也分享一下后端Nodejs如何处理请求的sn-p? 它给了我在控制台中发布 404 你为url
传递了什么值?如果你不更改它,它当然会导致404
状态,这意味着找不到资源。如果您需要有关后端的帮助,则需要创建一个新问题,因为它不在此问题的范围内。
我通过了“/user”
我在服务器端做了哪些改变以上是关于将变量值从反应构造函数传递到 nodeJS 后端的主要内容,如果未能解决你的问题,请参考以下文章
如何将变量值从一个文件中的一个类传递给另一个文件中的另一个类python tkinter