积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Angular 8 前端不将捕获的数据/字段发送到 Go 后端》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~
问题内容我目前正在重写一个应用程序,该应用程序将具有 angular 8 前端(边编码边学习),该前端将与连接到 mssql 数据库的 go 后端进行交互。 我可以成功显示数据库中的数据。 但是,当尝试更新收到的数据时,字段/数据似乎没有发送到 go 后端。 我已经使用 postman 测试了 go 后端 api,效果很好。 关于下面的代码可能有什么问题或者我可以做些什么来调试它有什么建议吗?
rest-api.service.ts
httpoptions = {
headers: new httpheaders({
'content-type': 'application/json'
//'content-type': 'application-token : this.gettoken()'
})
}
updatedetails(ref, details): observable<details> {
return this.http.put<details>(this.apiurl + '/details-edit/' + ref, json.stringify(details), this.httpoptions)
.pipe(
retry(1),
catcherror(this.handleerror)
)
}
详细信息-edit.component.ts
@input() detaildetails = { ref: '', name: '', number: '', trans_date: '', amount: '', type: '', reason: '', code: '', run_date: ''} ref = this.actroute.snapshot.params['ref'];
detailsdata: any = {};
constructor(
public restapi: restapiservice,
public actroute: activatedroute,
public router: router
) {
}
ngoninit() {
this.restapi.getdetails(this.ref).subscribe((data: {}) => {
this.detailsdata = data;
})
}
updatedetails(detaildetails) {
this.restapi.updatedetails(this.ref, this.detaildetails).subscribe((data: {}) => {
this.router.navigate(['/details-list'])
})
}
详细信息-组件.html
<div class="form-group">
<input type="text" [(ngModel)]="details.Run_Date" class="form-control" placeholder="Run_Date">
</div>
<div class="form-group">
<button class="btn btn-success btn-lg btn-block" (click)="updateDetails()">Update Details</button>
</div>
我希望将捕获\编辑的字段用作 go mssql 查询中占位符的值
解决方案
在您的 .html
中,您将 ngModel 用于 details
,但在您的 component.ts 中,您有 detailsData
。
在 component.ts
中,updateDetails
函数有 1 个参数。确保使用 console.log
执行该函数,因为您没有在 .html
中提供参数
另外,我不知道您是否希望后端收到一个字符串。您应该通过 put
发送数据,而不需要 JSON.stringify
。
我希望这会有所帮助。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Angular 8 前端不将捕获的数据/字段发送到 Go 后端》文章吧,也可关注编程网公众号了解相关技术文章。