最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

express body

IT培训 admin 9浏览 0评论

express body

我是一个反应和节点的初学者,这将是一个非常基本的问题。我正在创建一个与节点后端前面的基本反应。我设置了mysql数据库连接和所有设置。我想使用/ createUser api调用插入用户详细信息以将数据存储到数据库。我运行server / app.js,react serve和index.js,其中包含我的/ createUser监听器。当我使用我的表单输入用户名,密码时,将在express.post方法中返回空的req.body对象,而我期待我输入的用户名和密码。在其他情况下,当我启动监听器时,通过给出下面的错误,反应前面没有加载。

获取http://localhost:3000/%PUBLIC_URL%/manifest.json 404(未找到)manifest.json:1 Manifest:Line:1,column:1,Unexpected token。

似乎节点组件无法访问我的清单文件。我对么?

index.js

const express = require('express');
const bodyParser = require('body-parser');
const store = require('./store');
const app = express();
app.use(express.static('public'));

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json({ type: 'application/*+json' }));

app.use(bodyParser.json());

app.post('/createUser', (req, res) => {
    console.log(req.body);
    store
        .createUser({
            username: req.body.username,
            password: req.body.password
        })
        .then(() => res.sendStatus(200))
})

app.listen(3001, () => {
    console.log('Server running on http://localhost:3001')
})

login.js

import React, { Component } from 'react';
import classes from './Login.css';

function post (path, data) {
    console.log(data);
    return window.fetch(path, {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
    })
}

function handleLoginClick(e) {
    e.preventDefault();
    console.log('The link was clicked.');

    const Login = document.querySelector('.Login');
    const username = Login.querySelector('.username').value;
    const password = Login.querySelector('.password').value;
    post('/login', { username, password })
        .then(({ status }) => {
            if (status === 200) alert('login success')
            else alert('login failed')
        })
}

function handleSignupClick(e) {
    e.preventDefault();
    console.log('The link was clicked sign up.');

    const CreateUser = document.querySelector('.CreateUser')
    const username = CreateUser.querySelector('.username').value;
    const password = CreateUser.querySelector('.password').value;
    post('/createUser', { username, password })
}


class Login extends Component {

    componentDidMount() {
    }

    componentWillUnmount() {
    }

    render() {
        return (
            <div>
                <form className="Login">
                    <h1>Login</h1>
                    <input type="text" className="username" placeholder="username"/>
                    <input type="password" className="password" placeholder="password"/>
                    <input  type="submit" value="Login" onClick={handleLoginClick}/>
                </form>
                <form className="CreateUser">
                    <h1>Create account</h1>
                    <input type="text" className="username" placeholder="username"/>
                    <input type="password" className="password" placeholder="password"/>
                    <input type="submit" value="Create" onClick={handleSignupClick}/>
                </form>
            </div>
        );
    }

}
export default Login;

我的代码出了什么问题?有人可以解释一下。

我的代码:

回答如下:

尝试将bodyParser配置替换为以下代码行:

app.use(bodyParser.json({ limit: '100mb' }));
app.use(bodyParser.urlencoded({ limit: '100mb', extended: false }));

这可能对你有帮助

express body

我是一个反应和节点的初学者,这将是一个非常基本的问题。我正在创建一个与节点后端前面的基本反应。我设置了mysql数据库连接和所有设置。我想使用/ createUser api调用插入用户详细信息以将数据存储到数据库。我运行server / app.js,react serve和index.js,其中包含我的/ createUser监听器。当我使用我的表单输入用户名,密码时,将在express.post方法中返回空的req.body对象,而我期待我输入的用户名和密码。在其他情况下,当我启动监听器时,通过给出下面的错误,反应前面没有加载。

获取http://localhost:3000/%PUBLIC_URL%/manifest.json 404(未找到)manifest.json:1 Manifest:Line:1,column:1,Unexpected token。

似乎节点组件无法访问我的清单文件。我对么?

index.js

const express = require('express');
const bodyParser = require('body-parser');
const store = require('./store');
const app = express();
app.use(express.static('public'));

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json({ type: 'application/*+json' }));

app.use(bodyParser.json());

app.post('/createUser', (req, res) => {
    console.log(req.body);
    store
        .createUser({
            username: req.body.username,
            password: req.body.password
        })
        .then(() => res.sendStatus(200))
})

app.listen(3001, () => {
    console.log('Server running on http://localhost:3001')
})

login.js

import React, { Component } from 'react';
import classes from './Login.css';

function post (path, data) {
    console.log(data);
    return window.fetch(path, {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(data)
    })
}

function handleLoginClick(e) {
    e.preventDefault();
    console.log('The link was clicked.');

    const Login = document.querySelector('.Login');
    const username = Login.querySelector('.username').value;
    const password = Login.querySelector('.password').value;
    post('/login', { username, password })
        .then(({ status }) => {
            if (status === 200) alert('login success')
            else alert('login failed')
        })
}

function handleSignupClick(e) {
    e.preventDefault();
    console.log('The link was clicked sign up.');

    const CreateUser = document.querySelector('.CreateUser')
    const username = CreateUser.querySelector('.username').value;
    const password = CreateUser.querySelector('.password').value;
    post('/createUser', { username, password })
}


class Login extends Component {

    componentDidMount() {
    }

    componentWillUnmount() {
    }

    render() {
        return (
            <div>
                <form className="Login">
                    <h1>Login</h1>
                    <input type="text" className="username" placeholder="username"/>
                    <input type="password" className="password" placeholder="password"/>
                    <input  type="submit" value="Login" onClick={handleLoginClick}/>
                </form>
                <form className="CreateUser">
                    <h1>Create account</h1>
                    <input type="text" className="username" placeholder="username"/>
                    <input type="password" className="password" placeholder="password"/>
                    <input type="submit" value="Create" onClick={handleSignupClick}/>
                </form>
            </div>
        );
    }

}
export default Login;

我的代码出了什么问题?有人可以解释一下。

我的代码:

回答如下:

尝试将bodyParser配置替换为以下代码行:

app.use(bodyParser.json({ limit: '100mb' }));
app.use(bodyParser.urlencoded({ limit: '100mb', extended: false }));

这可能对你有帮助

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论