好的,这就是Drupal想要创建节点的内容。
节点 创建
发布: http://example.com/entity/node 内容类型: application / json
{ "type":[{"target_id":"article"}], "title":[{"value":"Hello World"}], "body":[{"value":"How are you?"}] }
我正在关注英雄之旅,所以这是我发送帖子方法的实际参考资料:
模板中的表单
<label>Task name:
<input #taskName type="text" class="form-control" id="name" required>
</label>
<button (click)="add(taskName.value); taskName.value=''" class="btn btn-success">
add
</button>
</div>
这是我获取表单的方式并将其发送到服务
add(name: string): void {
name = name.trim();
if (!name) { return; }
this.taskService.addTask({ name } as Task)
.subscribe(Task => {
this.tasks.push(Task);
});
这就算了:
{&#34;名称&#34;:&#34; ASD&#34;}
所以,在控制台中我得到了这个:
422(不可处理的实体)
我可以在表单中询问更多字段并使用post方法发送它们,所以我的问题是:如何设置表单以Drupal想要的方式发送所有字段。< /强>
这是我最好的方法:
新表格
<form (ngSubmit)="TaskData()" #taskForm="ngForm">
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" required #taskName>
</div>
<div class="form-group">
<label for="alterEgo">Body</label>
<input type="text" class="form-control" id="body" #taskBody>
</div>
<button type="submit" class="btn btn-success">Submit</button>
</form>
新的TaskData功能:
TaskData(name: string, body: string): void {
this.taskService.addTask({ name, body } as Task)
.subscribe(Task => {
this.tasks.push(Task);
});
}
但显然有些不对劲。
答案 0 :(得分:0)
也许您可以在.ts文件中使用类似的东西构建对象
TaskData(name: string, body: string){
let data: any = {
type: [],
title: [],
body: []
};
data.type.push({target_id: id});
data.title.push({value: name});
data.body.push({value: body});
this.taskService.addTask(data).subscribe(
doSomeThing();
);
}