Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 向FormData中的现有键添加键:值_Javascript_Jquery_Json_Api - Fatal编程技术网

Javascript 向FormData中的现有键添加键:值

Javascript 向FormData中的现有键添加键:值,javascript,jquery,json,api,Javascript,Jquery,Json,Api,我有一个带有字段的表单:title、name和description。我想使用API提交表单值。我有一个jquery代码,它将键值对添加到FormData变量: formdata.append('description_text', jquery('#description').val()) 这很好,但是,标题和名称字段是自定义字段,因此JSON结构是: { "description_text": "sample description",

我有一个带有字段的表单:title、name和description。我想使用API提交表单值。我有一个jquery代码,它将键值对添加到FormData变量:

formdata.append('description_text', jquery('#description').val())
这很好,但是,标题和名称字段是自定义字段,因此JSON结构是:

{
    "description_text": "sample description",
    "custom_fields": {
        "name": "Ned",
        "title": "Mr."
    }
}
我试着加上:

formdata.append('custom_fields', {'title': jquery('#title').val()}) 
我得到了一个错误:

[{"field":"custom_fields","message":"Value set is of type String.It should be a/an key/value pair","code":"datatype_mismatch"}]

您能告诉我如何分类吗?

您应该将
自定义字段作为JSON发送-也就是说,您的对象通过
stringify
转换为JSON字符串:

formdata.append('custom_fields', JSON.stringify({'title': jquery('#title').val()})) 

表单是如何编码的,URI编码?(默认设置。)是否要将JSON作为
自定义_字段的值发送?服务器将如何处理这个问题,从
custom_fields
获取一个值,并将其解析为JSON?或者通过获取离散的
自定义字段[名称]
自定义字段[标题]
条目?服务器希望以什么格式发送数据
FormData
设计用于发布多部分/表单数据编码数据。这就是服务器所期望的吗?通常,需要多部分数据的服务器需要使用PHP风格的命名约定表示复杂的数据结构。您似乎试图发布多部分数据和JSON数据的混合。需要JSON的服务器通常希望整个内容是一个JSON文本。应该给服务器什么?