c# - 如何解决 Angular8 中的输入字符串格式不正确?
问题描述
在我的 asp.net core 3.1 中,我有返回 aws 实例类型列表的方法,并且我在 angular 8 项目中使用 api。
当我使用邮递员时,我得到的 json 结果为
[
"c5n.4xlarge",
"m2.2xlarge",
"t3.xlarge",
"m5dn.8xlarge",
..........
]
但是在 chrome 的网络选项卡中,我得到了回复
当我尝试发布(它在后端工作)它抛出错误
输入字符串的格式不正确
我看到它没有获取价值并设置为未定义。如何使 json 结果类似于 postman 结果未编号。不知道这是不是原因。但在响应部分它是正常的 json。也许是多个数组的原因。
PS 还查看了有关输入字符串格式不正确的另一个主题,但它与整数问题有关,但在我的情况下,我只需要字符串
我的服务://这也是opentack的类似方法,效果很好
createAws(model: any, projectId: number, instanceType?: any) {
return this.http.post(`${this.baseUrl}servers/${projectId}?i
instanceType=${instanceType}`, model);
}
我的组件://
selectInstanceHandler(event: any){
this.selectedInstance = event.target.value;
}
createAws(instanceType: any){
this.subs.add(this.cvmService.createAws(this.model,this.projectId,instanceType).subscribe(
x => {
this.model = x;
this.alertify.success("successfully added new Server");
},
error => {
this.alertify.error("\n" + error);
}
))
}
我的html:
<div class="row" *ngIf="type == 'AWS'">
<div class="col-3 mt-3 labelText">
<span class="spanText">Aws Instance Type</span>
</div>
<div class="col-9">
<mat-form-field class="example-full-width">
<mat-label>Please select intance type</mat-label>
<select matNativeControl required name="awsInstanceType"
[(ngModel)]="model.awsInstanceType"
(change)="selectInstanceHandler($event)">
<option value="-1" disabled> </option>
<option *ngFor="let item of aws">
{{ item }}
</option>
</select>
</mat-form-field>
</div>
</div>
邮递员中的示例有效:
{{url}}/api/servers/22?instanceType=r5a.large
解决方案
结果没有编号,只是chrome格式化数据的方式,方便阅读。这就是为什么它被称为预览选项卡。
检查响应选项卡,响应只是字符串数组(即未编号)
推荐阅读
- c++ - 在下面提到的代码中,我希望输出按调用的降序排列
- angular - 为什么 ExpressJS 忽略 Access-Control-Allow-Origin 设置?
- ios - 按下通知后反应原生应用程序崩溃 [iOS]
- python - python 正则表达式匹配包括新行在内的完整段落
- python - 怎么做翻译?
- java - 如何自动删除 log4j2 中的旧日志文件
- c# - 如何在私有 void 中使用 Xamarin.form 中的对象(如条目)?
- google-apps-script - 如何避免在 google-sheet 应用程序脚本中重定向
- vim - 有没有办法执行 txt 文件中的 vim 命令以及文本?
- javascript - 我如何使响应机器人不继续响应?