如何忽略通过 http 发送的属性

2024-02-19

我的应用程序中有一个接口,用于维护我想要发送到数据库的属性以及我不发送到数据库的属性。

具体来说,我维护一个名为state可以设置为open or null(关闭)然后触发 Angular2 的动画state https://angular.io/docs/js/latest/api/core/index/state-function.html功能。我用这个*ngFor列出可打开和关闭有关该项目的信息面板。

但是,我不想将状态值存储在数据库中,因为它始终默认为null。目前,我将整个对象传递给 http 调用,因此state财产也被发送。我怎样才能忽略它呢?

  pushItemToDay(item: any, dateStr: Date): void {
    let body = JSON.stringify(item);

    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    this.http.post(this.baseURL + 'api/addItem/' + dateStr, body, options)
        .toPromise()
        .catch(this.handleError);
  }

如果在发布后使​​用该对象,则删除可能会造成损坏。函数 stringify 有一个附加参数,用于忽略不需要的条目。

let source = {
 	'meal': 'burger',
  'milkshake': 'chocolat',
  'extra':'2 hot dogs',
  'free': 'smile'
 };
let ignoreList = [ 'meal', 'extra' ];
 
function replacer(key,value)
{
    if (ignoreList.indexOf(key) > -1) return undefined;
    else return value;
}
 
let data = JSON.stringify(source, replacer);
console.log(data);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何忽略通过 http 发送的属性 的相关文章

随机推荐