【发布时间】:2020-11-23 22:29:54
【问题描述】:
我是 reactjs 和 nodejs 的初学者,我认为我成功地将数据从前端发布到后端,但现在我想 获取并显示收到来自控制台前端的数据,但我不知道该怎么做,有人在这种情况下指导我吗?因为当我在控制台中打印诸如 console.log(data) 之类的东西时,它会在控制台中显示一些 日志 但我想在控制台中显示 收到的数据强>
demoLogin.js
// this is frontend in reactjs
import React, { Component } from 'react'
import axios from 'axios'
class Login extends Component {
constructor(props) {
super(props)
this.state = {
username:'',
password:''
}
}
usernameHandler=event=>{
this.setState({
username:event.target.value,
})
}
passwordHandler=event=>{
this.setState({
password:event.target.value
})
}
submitHandler=event=>{
let data = {
username: this.state.username,
password: this.state.password,
};
event.preventDefault()
console.log(this.state)
axios.post('http://localhost:8080/note', data,{
headers: {'Content-Type':'application/json'}
})
.then(res => {
console.log(res)
})
}
render() {
const {username, password}=this.state
return (
<div className="custom_wrapper">
<div className="custom_form-wrapper">
<h1>SIGN IN INTO YOUR ACCOUNT</h1>
<form onSubmit={this.submitHandler} >
<div className="custom_username" >
<label htmlFor="username">User Name</label>
<input className='custom_input'
placeholder="example@email.com"
type="text"
name="username"
value={username}
onChange={this.usernameHandler}
/><br></br>
<label htmlFor="password">Password</label>
<input className='custom_input'
placeholder="password"
type="password"
name="password"
value={password}
onChange={this.passwordHandler}
/>
<button type="submit" >Login</button>
</div>
</form>
</div>
</div>
)
}
}
export default Login
server.js
//this is backend in nodejs
var restify=require('restify')
const corsMiddleware = require('restify-cors-middleware2');
const { data } = require('jquery');
var server=restify.createServer() //server created
server.use(
function crossOrigin(req,res,next){
res.header("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
res.setHeader('Access-Control-Allow-Credentials', true); // If needed
res.header("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
return next();
}
);
const cors = corsMiddleware({
preflightMaxAge: 5, //Optional
origins: ['*'],
allowHeaders: ['*'],
exposeHeaders: ['*']
})
server.pre(cors.preflight)
server.use(cors.actual)
server.use(restify.plugins.bodyParser());
//get data from login form
function userCreation(req, res, next) {
console.log('data received...')
console.log(res.json(data))
return next();
}
server.post('/note', userCreation);
server.listen(8080, function(){
console.log("server started...")
})
【问题讨论】:
标签: node.js reactjs axios restify