我正在开发一个依赖于后端处理的Web应用程序。我正在从我的Angular(v14)/Typescript前端向ASP.NET后端发送一个post请求。
后端代码
[HttpPost]
public async Task<string> ProcessExcelFile(IFormFile fileData, IFormCollection data)
{
string guid = await processor.ProcessFile(fileData, data) //Imp not important for question.
return guid;
}
前端代码
var guid: string = "";
this.http.post<string>('/api', formData).subscribe(result => {guid = result;});
我已经通过调试确认了后端被正确命中,并返回了正确的数据。
但是在我调用post请求后,前端“guid”是空的。我在这里做错了什么?
后端处理可能需要几秒钟,是这个问题吗?我该怎么办?
3条答案
按热度按时间dohp0rv51#
如果是JSON响应,您应该能够这样做:
//后端响应
第一个
如果不是JSON响应,请分享一下响应的相似之处。
如果回复仅为文本,请更新:
of1yzvn42#
通过浏览代码片段,不返回IActionResult对我来说很突出,因此您可以给予一下并检查它是否解决了问题
这基本上会发送一个OK API响应,其中的内容是guid
fykwrbwg3#
它看起来像后请求将不会最终确定,直到它所在的函数,从一个按钮点击网页上开始完成。
我没有在post请求所在的函数中创建guid变量,而是将其改为一个全局变量。现在我在guid变量中获得了正确的数据,但只有在button press函数完成之后。