当前位置: 首页 > 知识库问答 >
问题:

在JSON响应中使用FilePond my hidden input value=“undefined”

红智鑫
2023-03-14

所有的东西都能在后台正确上传,我可以从服务器上得到一个JSON响应,

{“success”:true,“filename”:“image1.png”,“assetId”:946}

但在使用>docs时,它不使用assetId填充隐藏字段

onload:(response)=>response.assetid

如果我删除onload,那么默认功能返回纯文本,然后我隐藏的输入将在值中显示整个JSON响应,如下所示

另外,在成功上传后,是否也要更改隐藏的输入名称?CMS需要保存/链接到的字段?恼人的是,我需要一个名称让Craft controller做上传到系统,另一个名称保存到条目中正确的字段。

FilePond.Parse(Document.Body);

FilePond.setOptions({
    allowDrop: true,
    allowReplace: true,
    instantUpload: true,
    server: {
        url: 'https://example.com/',
        process: {
            url: './actions/assets/upload',
            ondata: (formData) => {
                formData.append('folderId', '8');
                return formData;
            },
            onload: (response) => response.assetId,          
        }
    }  
});

共有1个答案

章学义
2023-03-14

我自己想出来的--我会离开这里,以防对其他人有帮助。

FilePond.parse(document.body);

    FilePond.setOptions({
        allowDrop: true,
        allowReplace: true,
        instantUpload: true,
        server: {
            url: 'https://example.com/',
            process: {
                url: './actions/assets/upload',
                ondata: (formData) => {
                    formData.append('folderId', '8');
                    formData.append('fieldId', '18');
                    formData.append('elementId', '1');
                    return formData;
                },
                onload: (response) => {
                    var json = (response);
                    var obj = JSON.parse(json);
                    var id = obj.assetId;
                    var input = document.createElement("input");
                    input.type = "hidden";
                    input.name = "fields[cover][]";
                    input.value = id;
                    document.getElementById("entry-form").appendChild(input);
                },  

            }
        }  
    });
 类似资料:
  • 问题内容: 对不起,我的英语不好 :) 我在iOS应用程序的Swift中通过Alamofire解析JSON响应时遇到问题。我编写了一个函数来返回JSON响应字符串。请求和响应处理我做Alamofire和JSON处理我做SwiftyJSON。首先,我声明一个名为 jsonString的变量 ,其值为 test 。然后,我向REST服务发出请求,并通过单击按钮获得JSON响应。我想使用函数 ping(

  • 我试图断言Json响应在我的jmetm使用Beanshell断言。下面是我的代码。 下面是我必须验证的Json路径 运行脚本后,我得到以下脚本。 断言失败消息:org。阿帕奇。乔芬。util。JMeterException:调用bsh方法时出错:评估源文件:内联评估:``导入组织。json。JSONObject;导入组织。json。杰索纳雷;导入java。lang.String;…'':类型化变量

  • 在React Native应用程序中实现以下场景的最佳方式是什么? 向服务器发出HTTP请求,获取JSON响应和ETag头 保存此JSON响应的方式即使在用户重新启动应用程序后也会持续 每当重复此HTTP请求时,发送If-None-Match头。 当您得到“未修改”响应时,请使用持久化缓存中的版本 当您得到“成功”响应(表示响应已更改)时,使持久化缓存无效,保存新响应 React Native有现

  • 问题内容: 我需要从外部域获取json数据。我使用webrequest从网站获得响应。这是代码: 有人知道为什么我无法获取json数据吗? 问题答案: 您需要明确要求内容类型。 添加此行: 在适当的地方

  • 问题内容: 我是liferay portlet开发的初学者,我正在开发一个接收http get请求,处理一些信息并且必须返回json对象的portlet。我的问题是我的Portlet发送了整个html页面,而不仅仅是json对象。这是我的代码: 我在doView()方法中执行此操作,我知道这不是最佳做法,但目前我对此并不关心。有人可以向我解释如何仅返回json对象,但我阅读了有关serveResp

  • 问题内容: 我是Go的新手,我正在尝试构建一个简单的HTTP服务器。但是我在JSON响应中遇到了一些问题。我编写了以下代码,然后尝试邮递员发送一些JSON数据。但是,我的邮递员总是得到空响应,而is 。然后,我在http://www.alexedwards.net/blog/golang-response- snippets#json中 检查了一个示例。我复制并粘贴了示例,并且效果很好。但是我看不