Angular POST请求中合并两个表单JSON数据的写法是否正确?
问题解答
你构造的请求体写法不正确,主要问题如下:
- 期望的请求体是单个JSON对象(外层用
{}包裹),但你写成了数组(外层用[]包裹),后端解析时会因结构不匹配报错。 subject对象中start_date字段末尾多了一个逗号,虽然部分JavaScript环境允许,但不符合严格JSON规范,可能导致后端解析失败。- 额外注意:你的
detail.status值为"BrakePad",和你给出的期望格式中的"class"不一致,如果是业务逻辑错误需要修正。
正确的请求体写法
const body = { "detail": { "status": "class", // 按业务需求调整值 "service_type": "online" }, "subject": { "start_date": "2022-06-28", "end_date": "2022-06-29", "start_time": "10:00", "end_time": "12:30" } };
Angular中发送请求示例
确保使用HttpClient发送请求时传入正确的对象结构:
import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class DataService { constructor(private http: HttpClient) {} submitFormData() { const body = { "detail": { "status": "class", "service_type": "online" }, "subject": { "start_date": "2022-06-28", "end_date": "2022-06-29", "start_time": "10:00", "end_time": "12:30" } }; return this.http.post('你的目标接口URL', body); } }
内容的提问来源于stack exchange,提问作者majid
相关产品推荐
相关产品推荐

