【发布时间】:2020-06-03 05:54:45
【问题描述】:
我是 Angular 的新手,试图为我的对象模型制作参数,每当我对我的对象进行字符串化时,它都会生成一个 API 不接受的大字符串。我该怎么办..?
这是我要转换为参数的对象。
{
"qaevaluationid": 1,
"agentid": 1,
"callerid": "1234",
"calledon": "02/13/2020 10:38:14 AM",
"duration": "304",
"overallfeedback": "adasdasd",
"isfatal": false,
"fatalcallreasonid": "3",
"evaluationtypeid": "1",
"callratings": [{
"callratingid": 1,
"createdby": 1,
"createdbyname": "john",
"createdon": null,
"evaluationfactorid": 8,
"is_deleted": "F",
"modifiedby": -1,
"modifiedbyname": "",
"modifiedon": null,
"qaevaluationid": 1,
"rating": "7"
}, {
"callratingid": 2,
"createdby": 1,
"createdbyname": "john",
"createdon": null,
"evaluationfactorid": 9,
"is_deleted": "F",
"modifiedby": -1,
"modifiedbyname": "",
"modifiedon": null,
"qaevaluationid": 1,
"rating": "6"
}, {
"callratingid": 3,
"createdby": 1,
"createdbyname": "john",
"createdon": null,
"evaluationfactorid": 10,
"is_deleted": "F",
"modifiedby": -1,
"modifiedbyname": "",
"modifiedon": null,
"qaevaluationid": 1,
"rating": "8"
}],
"createdby": 1,
"createdbyname": "John",
"createdon": null,
"modifiedby": -1,
"modifiedbyname": null,
"modifiedon": null,
"is_deleted": "F"
}
在 TypeScript 中我是这样做的
this.httpOptions.params = new HttpParams();
this.httpOptions.params = this.httpOptions.params.set('qaEval', JSON.stringify(qaevaluation));
return this._httpClient.post<APIResponse<QAEvaluation>>(this.myAppUrl + 'QAEvaluation/insert', { qaEval: qaevaluation }, this.httpOptions)
.pipe(retry(1), catchError(this.errorHandler));
收到此错误
"Http 失败响应为 https://localhost:44304/QAEvaluation/insert?qaEval=%7B%22qaevaluationid%22:-1,%22agentid%22:1,%22callerid%22:%221234%22,%22calledon%22:%2202/13/2020%2010:38:14%20AM%22,%22duration%22:%22304%22,%22overallfeedback%22:%22adasdasd%22,%22isfatal%22:false ……。这种情况一直持续下去:404 OK"
【问题讨论】:
-
在您的 localhost:44304/... 上运行的服务器是否可以获取此字符串并返回结果?在我看来,没有。并且最好发送对象的唯一 ID 而不是这样的完整长字符串
-
不,我没有在本地主机上运行任何其他可以通过大字符串返回结果的服务器。以及如何发送对象的唯一 ID,然后在 Api End 将其转换为结果?
标签: c# angular typescript api http-options-method