我正在做一个小的网络议程,用户可以写家庭作业和阅读每天写的东西。这个网络是用HTML,CSS和Vanilla JS写的。我有Strapi作为后端,我已经用它的文档把它部署到Heroku上:https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment/hosting-guides/heroku.html#_6-install-the-pg-node-module
我对GET请求没有问题,但是当我尝试发出POST请求时,我的内容类型的属性值为空。这是我的代码(它基于https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#create-an-entry):
function registerHomework(){
var s = document.getElementById("subject").value
var h = document.getElementById("homework").value
var t = new Date().toISOString().slice(0, 10)
fetch('https://agenda-back.herokuapp.com/api/homeworks', {
method: 'POST',
headers: {
'Accept': 'application/json',
"Content-type": "application/json; charset=UTF-8"
},
body: JSON.stringify({
"data": {
"id": i,
"attributes": {subject: `${s}`, homework: `${h}`, date: `${t}`}
}
})
})
}
我得到的回答是:
data: {
id: 8,
subject: 'null',
homework: 'null',
date: 'null',
created_at: '2022-11-16T12:12:57.078Z',
updated_at: '2022-11-16T12:12:57.078Z'
}
我不知道为什么它不注册属性,我想它可能与权限有关,但是我已经在strapi中更改了content-type public角色:现在任何人都可以创建一个条目了。我仍然得到相同的null
值。
我还发现了这个:https://github.com/strapi/strapi/issues/5958,但我没有使用axios
。我不知道是否可以直接从前端发出POST请求(我从strapi文档中了解到是这样),但可能我没有正确理解它。可能是一些授权问题,即使我选择了公共用户可以创建条目?
希望有人能帮帮我!
1条答案
按热度按时间qqrboqgw1#
从您链接的单据中可以看到,不允许使用属性键发送数据,可以直接发送数据。