javascript - 如何发布到 reactjs 网站中的 api
问题描述
我是 react 和 api 的初学者,所以我有一个关于发布到 api 的问题。我希望我必须将我的 textarea 的文本发布到 api,并且 api 将根据我的文本发送一些分数。
问题是 textarea 可能会发送类似这样的内容,这只是文本:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
但是 api 只接受像这样的数据,有一个前缀部分 {"data":"snippetDescription"} 否则它只会给出一个没有前缀部分的 404 错误
{"data":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"}
如您所见,我的 textarea 没有 {"data":""} 部分,而只有纯文本部分。
所以我尝试在 post 方法中连接它,但它给出了一个错误。这就是我尝试将第一部分连接到 textarea 文本的方式。
scoreanalysis = (snippetDescription) => {
return fetch("api/score/", {
method: "POST",
body: JSON.stringify({
snippetdesc: "{" + "data" + ":" + "snippetDescription" + "}" //this is the concatenation which doesn't work
}),
headers: {
"Content-type": "application/json; charset=UTF-8"
}
})
.then(response => response.json())
.then(
textdata => {
this.setState({
scoredata: textdata.scores,
});
console.log(scoredata); //how do I console log scoredata
},
error => {
console.log(error);
}
);
};
文本区域代码
<textarea
placeholder="Enter your text here"
onChange={snippetDescription =>
this.setState({
snippetDescription
})
}
></textarea>
错误
Unexpected string concatenation of literals no-useless-concat
我希望有人能告诉我如何连接前缀部分,以便我可以按照 api 的要求发送数据,以便 api 可以发回分数。谢谢你
更新:
scoreanalysis = (snippetDescription) => {
return fetch("api/scores", {
method: "POST",
body: JSON.parse('{"data":"snippetDescription"}')
})
.then(response => response.json)
.then(
textdata => {
this.setState({
scoredata: textdata.scores,
});
},
error => {
console.log(error);
}
);
};
没有从 api 获取任何数据 .. 在控制台中显示错误为
解决方案
使用JSON.parse('{data:"textarea content"}')
您需要使用 JSON 格式来发送/接收数据。
您没有调用该函数scoreanalysis
:
<textarea
placeholder="Enter your text here"
onChange={snippetDescription =>
this.setState({
snippetDescription
})
}
></textarea>
干杯!
推荐阅读
- ruby-on-rails - 用于导轨模型中类型列的工厂机器人
- shell - 根据长度拆分文件
- gulp - Karma Runner 未使用 VSTS Gulp 任务连接 IE
- php - 无法从网页获取某些属性
- python - 将一列数据附加到现有数据框
- android - 多个媒体上传完成后在recyclerView Item上隐藏progressBar
- reactjs - url查询字符串参数更改时是否有反应组件事件?
- html - 如何使表格文本永不换行?
- php - 我想从 mysql php 中检索数据
- .net-core - 使用 Azure AD v2.0 对 .NET 的 Azure 管理库进行身份验证