如何使用来自expressjs的reactjs访问json?

时间:2019-01-04 14:17:37

标签: javascript node.js reactjs express

我是reactjsexpressjs的新手。如何从reactjs获取数据并将其存储在变量中。

到目前为止,我已经可以处理res.send数据了。

app.get('*', (req, res) => {
     const data = {hello: world};
     res.send(data);
});

这会将数据发送到浏览器并显示,但是我只想将数据保存到变量中而不是显示它。

2 个答案:

答案 0 :(得分:1)

您可以在React组件中执行以下操作:

import React, { Component } from 'react';
import './App.css';
class App extends Component {
   constructor(){
       super();
       this.state ={users: []};
   }
   componentDidMount() {
          fetch('/users')
            .then(users => { 
                console.log(users); 
                this.setState({ users })
             });
         }
   render() {
        return (
            <div className="App">
                <h1>Users</h1>
                {this.state.users.map(user =>
                <div key={user.id}>user: {user.name} Password: {user.password}</div>
              )}
            </div>
        );
    }
}
export default App;

假设您感兴趣的对象称为“用户” (*您必须根据您的对象字段更改JSX才能进行测试)

答案 1 :(得分:1)

这是React.js示例

import axios from 'axios'

click () {
  axios.get('yourAPIAdress')
    .then(response => console.log(response))
}

这是您的node.js示例代码;

const https = require('https');

https.get('yourAPIAdress', (resp) => {
  let data = '';

  // A chunk of data has been recieved.
  resp.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received. Print out the result.
  resp.on('end', () => {
    console.log(JSON.parse(data).explanation);
  });

}).on("error", (err) => {
  console.log("Error: " + err.message);
});
相关问题