javascript - react中获取springboot api的返回值
问题描述
我在响应中向 api 发出此请求:
return fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
body: JSON.stringify({
player: param
})
})
这就是我的 java 方法返回的内容:
return "an example string";
当试图在反应中访问相同的内容时,我这样做了:
service.setXMLFile("PlayerList", playerAux).then((response=>{
window.alert(JSON.stringify(response))
}))
我想要做的是在我的反应前端打印相同的字符串,但我无法访问它。当我打印我的回复时,值为 {} 谢谢。
编辑:
致电我的服务作出反应:
createXml = () => {
let playerAux = [];
this.state.playerList.player.forEach((player) => {
let jsonPlayer = {
idPlayer: player.idPlayer,
playerName: player.playerName,
broadcastChannel: player.broadcastChannel,
clusterName: player.broadcastChannel,
playerAlias: player.playerAlias
}
playerAux.push(jsonPlayer);
})
let service = new FileConfigurationService();
service.setXMLFile("PlayerList", playerAux).then((response=>{
window.alert(response)
}))
}
接口调用:
setXMLFile = (xmlFile, param) => {
let url = this.baseUrl + "/setXmlFile/" + xmlFile;
window.alert("BOAS POST " + url)
url = encodeURI(url);
return fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
body: JSON.stringify({
player: param
})
})
}
解决方案
fetch 返回一个承诺,您需要使用 await 或 then 来处理该承诺。
喜欢
fetch().then().catch()
或者
await fetch()
改变你的功能来处理承诺
setXMLFile = async (xmlFile, param) => {
let url = this.baseUrl + "/setXmlFile/" + xmlFile;
window.alert("BOAS POST " + url)
url = encodeURI(url);
const response = await fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*'
},
body: JSON.stringify({
player: param
})
});
return await response.json();
}
推荐阅读
- reactjs - 单击时如何仅扩展一个列表项-反应钩子
- scala - 抽象类中未定义类型时出现类型不匹配错误
- php - 在 Laravel 控制器中找不到 PHP 类
- kapt - 如何使用 KotlinPoet 生成地图初始化代码?
- sql - ORA-00920: 具有多个连接并使用最大值的选择子句中的无效关系运算符
- android-studio - SearchView 使用列表视图检索错误数据
- python - 如何使用 python 按字母顺序对 XML 进行排序?
- javascript - 如何根据用户角色禁用或隐藏链接?
- azure - Azure 地图室内模块:如何使用 azure 地图在室内导航中的两点之间绘制路径?
- python - 使用python查看该频道的过滤实时更新