如何从 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)
将您的代码更改为该签名并更改评论中提到的导入语句,它应该可以工作
我正在处理将 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) 将您的代码更改为该签名并更改评论中提到的导入语句,它应该可以工作