【问题标题】:Do not send value from form Angular不要从 Angular 表单发送值
【发布时间】:2018-02-27 23:17:00
【问题描述】:

有没有办法不将值从表单发送到服务器?

我有更新请求,在这个函数中我不想发送 hospital.name(我试图将它设置为 null,但它没有按我的意愿工作。)

有没有办法忽略这个值?

      update(hospital: Hospital): Promise<Hospital> {
    const url =`${this.hospitalsUrl}/${hospital.id}`;
    return this.http.put(url, JSON.stringify(hospital), {headers: this.headers})
    .toPromise()
    .then(() => hospital);
  }

【问题讨论】:

  • JSON.stringify(hospital.id)

标签: angular rest http webpack promise


【解决方案1】:
update(hospital: Hospital): Promise<Hospital> {
delete hospital.name;
    const url =`${this.hospitalsUrl}/${hospital.id}`;
    return this.http.put(url, JSON.stringify(hospital), {headers: this.headers})
    .toPromise()
    .then(() => hospital);

delete hospital.name; 将从 Object 中删除属性。

var myObject = {
    "name": "muthu",
    "id": "123",
    "password": "abc-123"
};
delete myObject.password;

console.log(myObject);

【讨论】:

    【解决方案2】:

    最好的方法是创建一个新对象发送到服务器。

    例如,要更新医院,您可以创建一个 UpdateHospitalRequest,以及一个从表单到可在 HospitalService 中使用的 UpdateHospitalRequest 的转换器。

    这将确保即使您出于某种原因更改表单,除非您决定更改,否则请求将始终保持不变。

    【讨论】:

      【解决方案3】:
      update(hospital: Hospital): Promise<Hospital> {
      hospital.name=‘’;
          const url =`${this.hospitalsUrl}/${hospital.id}`;
          return this.http.put(url, JSON.stringify(hospital), {headers: this.headers})
          .toPromise()
          .then(() => hospital);
      

      试试这个

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-28
        • 2020-03-12
        • 2013-12-24
        • 2011-04-14
        相关资源
        最近更新 更多