调用按钮时,如何将反应 DOM 状态的信息传递给后端(NodeJS)?
How do I pass a react DOM state's information to backend(NodeJS) when a button is invoked?
我在前端使用他的逻辑,但实际上在后端接收该数据时遇到了一些问题。我正在使用 Sails.js 框架。有什么建议吗?
handleSubmit = () => {
// Gathering together the data you want to send to API
const payload = {
subject: this.state.subject,
message: this.state.message,
};
this.handleAjaxRequest(payload);
};
//向后端发送数据的方法
// 发出请求 - 我在这里使用 Axios。
handleAjaxRequest = (payload) => {
let request = axios({
method: 'post',
url: '/api/',
data: payload,
headers: 'Content-Type: application/json'
});
// 处理后端的响应。
request.then(response => {
console.debug(response.data);
})
.catch(error => {
console.error(error);
})
};
我以前用 Express 来做这件事,没有遇到这些问题。
任何帮助、方法、建议都非常受欢迎:)
请原谅我的无知,我就是来学习的
好的,所以我要做的第一件事就是使用命令 sails generate api data
生成一个新的 restful API。在 package.json
文件中,我设置了一个包含后端端点的代理,就像这样 "proxy": "http://localhost:1337"
- 我的意思是,你不需要这样做,但如果你不需要,那么你必须包括这个 URL 部分在每个请求上。因为不改变,所以还是挺方便的。
在前端,我创建了一个函数sendData()
,它从我之前的组件中获取必要的数据(取决于用户选择的内容)并使用axios
到 后端 -->
sendData = () => {
const { relYear } = this.props.history.location.state.dev;
const { relMonth } = this.props.history.location.state.dev;
const selectedMonth = moment().month(relMonth).format("MM");
const finalSelect = parseInt(relYear + selectedMonth, 10);
axios.post('/data', { 'selectedDate' : finalSelect })
.then(res => console.log('Data send'))
.catch(err => console.error(err));
}
在后端我获取了数据,进行了计算并将结果发送回我应用程序的前端。 -->
getApiData = () => {
let apiData = [];
axios.get('/data')
.then(res => {
let first = Object.values(res.data.pop()).shift(); // Getting the relevant 'selectedDate'
apiData.push(first);
}).catch(err => console.error(err));
return apiData;
}
我在前端使用他的逻辑,但实际上在后端接收该数据时遇到了一些问题。我正在使用 Sails.js 框架。有什么建议吗?
handleSubmit = () => {
// Gathering together the data you want to send to API
const payload = {
subject: this.state.subject,
message: this.state.message,
};
this.handleAjaxRequest(payload);
};
//向后端发送数据的方法 // 发出请求 - 我在这里使用 Axios。
handleAjaxRequest = (payload) => {
let request = axios({
method: 'post',
url: '/api/',
data: payload,
headers: 'Content-Type: application/json'
});
// 处理后端的响应。
request.then(response => {
console.debug(response.data);
})
.catch(error => {
console.error(error);
})
};
我以前用 Express 来做这件事,没有遇到这些问题。 任何帮助、方法、建议都非常受欢迎:)
请原谅我的无知,我就是来学习的
好的,所以我要做的第一件事就是使用命令 sails generate api data
生成一个新的 restful API。在 package.json
文件中,我设置了一个包含后端端点的代理,就像这样 "proxy": "http://localhost:1337"
- 我的意思是,你不需要这样做,但如果你不需要,那么你必须包括这个 URL 部分在每个请求上。因为不改变,所以还是挺方便的。
在前端,我创建了一个函数sendData()
,它从我之前的组件中获取必要的数据(取决于用户选择的内容)并使用axios
到 后端 -->
sendData = () => {
const { relYear } = this.props.history.location.state.dev;
const { relMonth } = this.props.history.location.state.dev;
const selectedMonth = moment().month(relMonth).format("MM");
const finalSelect = parseInt(relYear + selectedMonth, 10);
axios.post('/data', { 'selectedDate' : finalSelect })
.then(res => console.log('Data send'))
.catch(err => console.error(err));
}
在后端我获取了数据,进行了计算并将结果发送回我应用程序的前端。 -->
getApiData = () => {
let apiData = [];
axios.get('/data')
.then(res => {
let first = Object.values(res.data.pop()).shift(); // Getting the relevant 'selectedDate'
apiData.push(first);
}).catch(err => console.error(err));
return apiData;
}