我遇到了一个问题,他们无法发送POST请求到他们的。NET API使用他们的浏览器,但它与 Postman 。
//angular
const url = "http://localhost:5001/ApplicationManager/saveForm";
const model = {
firstName: "1234",
};
console.log(model);
const headers = new HttpHeaders({
"Content-Type": "application/x-www-form-urlencoded",
}); //{ headers: headers }
this.http.post(url, model, { headers: headers }).subscribe(
(res) => {
console.log("Form data saved successfully.");
},
(err) => {
console.error("Error saving form data:", err);
}
);
代码是我的Angular发送post请求:
[HttpPost("saveForm")]
public IActionResult SaveForm([FromBody] DemoModel model)
{
try
{
Console.WriteLine("Form data saved successfully.");
// TODO: Validate form data and save to file or database
Console.WriteLine(JsonSerializer.Serialize(model));
return Ok();
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to save form data");
Console.WriteLine("Error:");
return BadRequest();
}
}
这就是接收它的东西。net6
我收到的错误是一个HTTP失败响应,状态为0,statusText为Unknown Error
,当试图将表单保存到URL http://localhost:5001/ApplicationManager/saveForm
时。
Post http://localhost:5001/ApplicationManager/saveForm net::ERR_EMPTY_RESPONSE
我可以做一个成功的后请求与 Postman ,但不是与我的浏览器。
尝试实施CORS。
1条答案
按热度按时间yfwxisqw1#
您的API需要
application/json
内容类型,因此您需要将模型字符串化和内容类型
或者,如果您使用的是最新版本的angular,则只需从代码中删除header,因为angular默认使用
application/json
。关于net::ERR_EMPTY_RESPONSE,尝试返回一些东西