如何获取要填充的请求正文

时间:2019-03-21 22:36:26

标签: javascript reactjs

我正在执行响应,并且在api / cmsview中没有得到Axios正在传递的对象。

class CmsView extends Component {
  constructor(props) {
    super(props)


    this.state = {
        cmsObj: [],
        packageLid : props.location.state
    }
    var packageLid = this.props.location.state.packageLid
    console.log(packageLid.PACKAGE_LID) //this gets populated with data
    Axios.get('/api/cmsview', {packageLid})
    .then((response) => {
                this.setState({ cmsObj: response.data })
            })
   }
}

我的packageLid确实填充了数据,但是当我执行Axios时会得到:

在我的cmsview.js中

router.get('/', (req, res, next) => {
    console.log(req.body.packageLid.PACKAGE_LID) 
}

我的req.body.packageLid未填充。知道为什么吗?它只是输出“未定义”

1 个答案:

答案 0 :(得分:0)

您需要将axios调用放在componentDidMount方法中。

componentDidMount() {
var packageLid = this.props.location.state.packageLid
console.log(packageLid.PACKAGE_LID) //this gets populated with data
Axios.get('/api/cmsview', {packageLid})
.then((response) => {
            this.setState({ cmsObj: response.data })
        })
  }
 }