Javascript 使用修补程序或put方法更新部分数据

Javascript 使用修补程序或put方法更新部分数据,javascript,angular,ionic2,Javascript,Angular,Ionic2,我想通过API更新部分数据。我已经成功地发布了一个数据。我还想做补丁来更新一个字段的数据 下面是我尝试用于更改的代码: else if (out_timing.worker_timeout_id === emp_id && out_timing.check_status === false) { let checkOutTime = new TimeOutModel(out_timing.date, emp_id, ou

我想通过API更新部分数据。我已经成功地发布了一个数据。我还想做补丁来更新一个字段的数据

下面是我尝试用于更改的代码:

                else if (out_timing.worker_timeout_id === emp_id && out_timing.check_status === false) {
              let checkOutTime = new TimeOutModel(out_timing.date, emp_id, out_timing.time_out, true);
              //introduced two lines below to carry out update for last field
              let updateCheckStatus = new TimeInModel("", "", "", false);
              this.employeesService.patchTimeinStatus(updateCheckStatus)
              this.employeesService.pushTimeOut(checkOutTime)
                .subscribe(checkOutTime => {
                },
                error => this.errorMessage = <any>error);
              console.log("Successfully checked-out!");
              break;
            }
            else {
              console.log("All conditions exhausted!");
              break;
            }
else if(out\u timing.worker\u timeout\u id==emp\u id&&out\u timing.check\u status==false){
let checkOutTime=新的TimeOutModel(out\u timing.date,emp\u id,out\u timing.time\u out,true);
//在下面引入了两行来执行最后一个字段的更新
让updateCheckStatus=newtimeinmodel(“,”,“,”,false);
this.employeesService.patchTimeinStatus(updateCheckStatus)
this.employeesService.pushTimeOut(签出时间)
.订阅(签出时间=>{
},
error=>this.errorMessage=error);
log(“已成功签出!”);
打破
}
否则{
log(“所有条件已用尽!”);
打破
}
这就是我的服务组件中的内容

patchTimeinStatus(timing: TimeInModel): Observable<TimeInModel> {

    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });
    return this.http.patch(this.empApiUrl + '/time-in/', timing, options)
      .map(this.extractData)
      .catch(this.handleErrorObservable);
}
patchTimeinStatus(计时:TimeInModel):可观察{
let headers=新的头({'Content-Type':'application/json'});
let options=newrequestoptions({headers:headers});
返回此.http.patch(this.empApiUrl+'/time in/',计时,选项)
.map(此.extractData)
.catch(此.手柄不可维修);
}

我从服务器获取不允许的405方法。除此之外,我怀疑我所做的是否正确。使用补丁或put方法进行更新的正确方法是什么?

有关put的更多信息,请在此处找到补丁-。在您的情况下,如果您只想更新部分数据,最好的方法是使用补丁方法。在您的情况下,如果您只想更新部分数据,最好的方法是使用补丁方法。