如何从 Reactjs 调用 Web 服务

How to call the webservice from Reactjs

我正在处理将 Reactjs 与 webpack 结合使用的示例。如何从 reactjs 组件调用网络服务并将结果传递给 html 文件

我尝试了 superagent、http-browserify 等 他们都给我同样的错误:

Uncaught TypeError: Cannot read property 'get' of undefined.

下面是我调用 API

的视图组件
import React from 'react'
import FindpersonStore from'../stores/FindPersonStore';
import PersonAPI from'../utils/PersonAPI';

var FindPerson = React.createClass({
    handleGoClick()
    {
        PersonAPI.getPerson(this.refs.personIdInput.getDOMNode().value);
    },

    render(){

         return(
        <div>
            <p>person Id <input type="number" value={this.props.personId} ref="personIdInput" /></p>    
            <input type="Submit" onClick={this.handleGoClick}/>
        </div>
        );
    }
});
export default FindPerson

而 API 是

import FindPersonAction from'../actions/FindPersonAction';
import {request} from 'superagent';

module.exports = {

  // Load mock product data from localStorage into ProductStore via Action
  getPerson: function(personId) {
    var url = "http://localhost:8080/SampleWebService/service/find?id="+personId

    request
        .get(url)//This is giving me error
        .end(function(res){
            if (res.status === 404) {
                        reject();
                    } else {
                         var data = JSON.parse(res);
                         FindPersonAction.findPerson(data);
                    }
        })

  }

};

回调函数的签名为 (err, res) 将您的代码更改为该签名并更改评论中提到的导入语句,它应该可以工作