filepond 在隐藏输入中收到未定义的值

filepond receive undefined value in hidden input

在隐藏输入中收到未定义的值

return Response::make($this->filepond->getServerIdFromPath($filePath), 200, [
            'Content-Type' => 'text/plain',
        ]);
HTTP/1.0 200 OK
Cache-Control: no-cache, private
Content-Type:  text/plain
Date:          Mon, 25 May 2020 11:01:01 GMT

eyJpdiI6Ik1wWEY0UmNSNlRJR.....==

响应生成正确但在 filepond 中隐藏接收未定义

<input type="hidden" name="filepond" value="undefined">

这是我的服务器设置

FilePond.setOptions({
    server: {
        url: 'http://localhost/gadmin/public/filepond/api',
        timeout: 7000,
        process: {
            url: '/process',
            method: 'POST',
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            onload: (response) => response.key,
            onerror: (response) => response.data,
            ondata: (formData) => {
                return formData;
            }
        },
    }
});

仅当您的服务器 returns 一个 JSON 字符串并且您需要从中 select 某个 属性 时才需要 onload 函数.在您的情况下,process 端点 returns 带有 idtext/plain 响应,这允许 FilePond 自动使用返回的 ID 作为文件 ID。所以这就是不需要 onload 函数的原因。

参见:https://pqina.nl/filepond/docs/patterns/api/server/#process

server returns unique location id 12345 in text/plain response