簡體   English   中英

angular 發布請求,內容類型應用程序/json 不起作用

[英]angular post request with content-type application/json not working

我嘗試使用 angular 發送發布請求,但是當我將內容類型設置為應用程序/json 時,請求內容類型始終未設置,並且 HTTP 方法總是被刪除,並且所有發布的數據都從請求正文中刪除我的代碼

在此處輸入圖像描述

這是我的要求

在此處輸入圖像描述

HTTP 方法總是被刪除,所有發布的數據都從請求正文中刪除

在您分享的屏幕截圖中,我們可以發現您捕獲的請求是一個OPTIONS請求( 預檢請求),而不是實際的POST請求。 因此,您發布的數據不在請求正文中。

此外,以下代碼片段對我來說效果很好,您可以參考它。

var student = {'name' : 'testuser', 'age' : 29};

const headers = new HttpHeaders().set('Content-Type','application/json');

this.http.post<Student>('https://xxxx/student',JSON.stringify(student),{headers:headers})
.subscribe(data => {
  console.log(data);
});

Controller 和動作

[Route("[controller]")]
[ApiController]
public class StudentController : ControllerBase
{
    [HttpPost]
    public IActionResult Post(Student student)
    {
        return Ok(student);
    }
}

測試結果

在此處輸入圖像描述

我只是想擴大飛寒的答案。 如果您使用asp core作為服務器端,您應該在 Startup.cs 中配置 Cors,如下所示:

app.UseCors(x =>
    x.AllowAnyHeader()
    .AllowAnyMethod()
    .AllowAnyOrigin());

如果您像這樣設置 Accept 標頭,就足夠了。

 const headers = new HttpHeaders()
      .set('Accept', 'application/json');

無需設置內容標題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM