我想制作一个具有多个输入(两个文本和一个图像)的表单。 此外,我正在使用 react、axios、formik 并将我的数据提交给 Strapi。
只有一个文本和一个文件,它工作正常,但是当我尝试添加新的追加时,出现错误
When using multipart/form-data you need to provide your data in a JSON 'data' field.
const onSubmit = async (event) => {
const data = new FormData()
//This works
data.append('data', JSON.stringify({title:event.title}))
data.append('files.cover', file)
//This doesnt
data.append('title', JSON.stringify({title:event.title}))
data.append('description', JSON.stringify({description:event.description}))
data.append('files.cover', file)
try{
const response = await axios.post('http://localhost:1337/foodtrucks', data,
{
headers: userToken && { Authorization: `Bearer ${userToken}` }
},
)
// const data = await response.json()
console.log("response", response)
} catch(err){
// setError(err.response.data.message[0].messages[0].message)
setError("error")
console.log(err)
}
}
我尝试添加标题、使用表单数据等,但没有任何效果。
答案 0 :(得分:1)
我认为 axios 用于调用 API - 它可能并不容易(或可能发送表单数据)。
如果您在浏览器中运行,您可能希望使用纯 XMLHttpRequest。我遇到了 this article,它定义了 declare @table table(Name varchar(20), Type char(2))
insert into @table values
('Roger','A1'),
('Roger','A2'),
('Grace','A1'),
('Grace','A2'),
('Grace','A3');
;with NameCount
AS
(
select Name, count(case when type in ('A1','A2') then 1 END) AS SpecificCount, count(*) as totalcount from @table
group by name
)
SELECT t.*
FROM @table as t
inner join NameCount as n
on n.Name = t.Name
where n.SpecificCount = n.totalcount
函数。它在很多项目上帮了我很多。