我正在转换为完整的堆栈,这是非常有趣的。我被困在如何从客户端获取变量到服务器端来使用它来查询API。如有任何教程或建议,将不胜感激。这个概念给了我生意,我只是还没有得到它。
////server.js
app.get("/getmovies", (req, res) => {
const {name} = req.body;
request(`http://www.omdbapi.com/?t=${name}&apikey=${API_KEY}`,
function (error, response, body) {
if (!error && response.statusCode == 200) {
var parsedBody = JSON.parse(body);
res.send(parsedBody)
} else {
console.log("error in the server")
}
}
)
})
//client side
state = {
movies: null,
movie: {
name: ''
}
}
postJson = (e) => {
const { movie } = this.state;
e.preventDefault();
axios.post(`/getmovies`, {})
.then(res => {
console.log(res);
console.log(res.data);
}
)
.catch(function (error) {
console.log(error);
})
}
getMovies = (e) => {
e.preventDefault();
axios.get(`/getmovies`)
.then(response => this.setState({ movies: response.data }))
// .then(response => this.setState({ movies: response.data }))
.catch(err => console.error(err))
}发布于 2020-02-01 03:50:39
客户端
POST
您可以像这样传递请求体:
axios.post('/postmovies', {
name: 'Fred',
}).then({
// ...或者像这样:
axios({
method: 'POST',
url: '/postmovies',
data: { name: 'Fred' },
}).then({
// ...GET
您只需将查询参数与URL一起传递,如下所示:
const { name } = this.state;
axios.get(`/getmovies?name=${name}`).then({
// ...查看示例这里。
服务器端
查询参数
要接收查询参数,可以执行以下操作:
app.get("/getmovies", (req, res) => {
const { name } = req.params;
// ...请求体
检索请求主体:
app.post("/postmovies", (req, res) => {
const { name } = req.body;
// ...https://stackoverflow.com/questions/60013732
复制相似问题