Javascript 向FormData中的现有键添加键:值
我有一个带有字段的表单:title、name和description。我想使用API提交表单值。我有一个jquery代码,它将键值对添加到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",
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文本。应该给服务器什么?