【发布时间】:2021-11-05 16:01:15
【问题描述】:
在 laravel 的后端,我有一个名为“file_ticket”的字段,我需要发送一个包含通过输入文件发送的文件的数组,我在前端使用 vue js。 如何将此数组发送到我的后端?当我尝试仅发送数组时,请求会返回类似“目标文件”的内容
onChange(e) {
let getFiles = [...this.$refs.file.files]
if(!getFiles) return
([...getFiles]).forEach(f => {
this.filelist.push(f)
})
},
saveTicket(event){
event.preventDefault()
let frmData = new FormData()
frmData.append('subject', this.newTicket.subject)
frmData.append('service', this.newTicket.service)
frmData.append('description', this.newTicket.description)
frmData.append('file_ticket', this.filelist)
frmData.append('client_id', this.idUser)
const url = `ticket/new_ticket`
axios.post(url, frmData).then((response) => {
console.log(response)
})
【问题讨论】:
-
使用 JSON。在服务器端使用
json_decode。在客户端使用JSON.stringify([1, 2, 3]);,其中 [1, 2, 3] 是您的数组。 -
@Someone_who_likes_SE 我认为你做不到。我很确定你必须使用
FormData() -
我是说,以表单数据的形式发送字符串化的 JSON
-
如果我使用 JSON.stringy(),发送一个包含空对象的数组
标签: javascript php laravel vue.js axios