Javascript 正在尝试查找Dbyd,但服务器未返回正确的状态响应 正在尝试使用Axios.get方法获取“:id” S̶e̶r̶v̶e̶r̶i̶S̶e̶S̶p̶o̶n̶d̶i̶n̶g̶w̶i̶t̶h̶a̶4̶ 目前我无法设置组件的状态。我得到一个空的物体

Javascript 正在尝试查找Dbyd,但服务器未返回正确的状态响应 正在尝试使用Axios.get方法获取“:id” S̶e̶r̶v̶e̶r̶i̶S̶e̶S̶p̶o̶n̶d̶i̶n̶g̶w̶i̶t̶h̶a̶4̶ 目前我无法设置组件的状态。我得到一个空的物体,javascript,express,axios,Javascript,Express,Axios,我尝试过调整控制器参数,但似乎无法解决 loadProfile() { axios.get('http://localhost:3000/api/companies/' + this.props.match.params.id) .then(res => { if (!res) { console.log("404 error, axios cannot get response

我尝试过调整控制器参数,但似乎无法解决

loadProfile() {
        axios.get('http://localhost:3000/api/companies/' + this.props.match.params.id)
            .then(res => {
                if (!res) {
                    console.log("404 error, axios cannot get response");
                } else {
                    console.log(res.data);
                    this.setState({ company: res.data });
                }
            });
快速api路线

companyRoutes.route('/:id').get(company_controller.company_id_get);
快速控制器

exports.company_id_get = (req, res) => {
    const id = req.params.id;
    Company.findById( id, (company, err) => {
        if(err) {
            console.log("404 error", err);
        }
        else {
            res.json(company);
        }
    })
}
服务器端代码


'use strict';

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const cors = require('cors')
const passport = require('passport');

const app = express();
const users = require('./routes/api/users');
const companyRoute = require('./routes/api/companies');

app.use(express.static("static"));
//Bodyparser middleware

app.use(cors());
app.use(
        bodyParser.urlencoded({
        extended: false
    })
);
app.use(bodyParser.json());

// DB configuration
const db = require("./config.scripts/mongoKey").mongoURI;

// Connect to MonngoDB
mongoose.connect(
    db, { useNewUrlParser: true }
)
    .then((db) => console.log('MongoDB succesfully connected'))
    .catch(err => console.log(err));

//Passport middleware
app.use(passport.initialize());

//Passport config
require('./config.scripts/passport.js')(passport);

//Routes
app.use('/api/users', users);
app.use('/api/companies', companyRoute);

//Redirect any server request back to index.html: To deal with CRS
app.get('/', function(req, res, next){
    res.sendFile(path.join(__dirname, '../client', 'index.html'));
})

//Hostname and Port
//const hostname = '127.0.0.1';
const port = 3000;

app.listen(port, () => {
    console.log(`Backend server is running at http://localhost:${port}/`);
});

控制台/网络和邮递员中显示的错误。看起来http.get请求被暂停了

似乎您在路由中忘记了a/http:/localhost:3000/api/companys/…。将其更改为
http://...
这应该可以解决您的问题。

请在您的问题中添加相关的服务器端/快速代码。我修复了缺少的类型。然而,现在我似乎无法设定状态。我对setState做了一个小调整,以检查我是否可以存储param.id,但是我得到了一个空对象
javascript this.setState({company:res.data,company_id:this.props.match.params.id})