【发布时间】:2017-12-15 16:03:34
【问题描述】:
好的,这就是 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);
});
这让我觉得:
{"name":"asd"}
所以,在控制台中我得到了这个:
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);
});
}
但显然有些地方出了问题。
【问题讨论】:
标签: angular forms rest typescript drupal