如何在ASP Core ReactJS應用程式中呼叫貼文?
P粉733166744
P粉733166744 2023-08-17 17:23:05
0
1
574
<p>我目前在我的reactjs javascript檔案中有以下內容</p> <pre class="brush:php;toolbar:false;">details.js const response = await fetch('users');</pre> <p>這將呼叫下面的mvc控制器</p> <p>UsersController.cs</p> <pre class="brush:php;toolbar:false;">private readonly ILogger<userController> _logger; public userController(ILogger<userController> logger) { _logger = logger; } [HttpGet] public IEnumerable<user> Get() { <code goes here> }</pre> <p>問題是fetch呼叫了Get方法,我要如何呼叫控制器中的其他方法呢? 所以如果我還有一些類似下面的方法:</p> <pre class="brush:php;toolbar:false;">[HttpPost] public IEnumerable<user> UserDetails(string Id) { <code goes here> } [HttpPost] public IEnumerable<user> UserInfo(string name, string Id ) { <code goes here> } [HttpId] public IEnumerable<user> UserId(string firstname, string lastname, string companyId) { <code goes here> }</pre> <p>我如何從details.js檔案中呼叫這些方法呢? </p> <p>像下面這樣嗎? </p> <pre class="brush:php;toolbar:false;">const response = await fetch('users/UserInfo'); ?</pre>
P粉733166744
P粉733166744

全部回覆(1)
P粉762447363

你需要告訴.NET框架有關端點參數的信息,並使用正確的HTTP方法進行呼叫。例如,稍微更改程式碼,可以將UserDetails方法的Id參數用作URL段:

[HttpPost("{Id}"]
public IEnumerable<user> UserDetails(string Id)
{
   <code goes here>
}

HttpPost屬性告訴.NET架構這是一個POST端點。注意HttpPost屬性中的{Id}部分。它是一個佔位符,你在呼叫端點時應該用實際的ID來取代它。要呼叫該端點,你需要向"users/123"端點發送一個HTTP POST請求,其中"123"部分是{Id}佔位符的替換。以下是一個範例:

fetch('users/123', { method: "POST" })

端點URL還可以包含查詢字串參數。例如,以下是如何使用查詢字串參數呼叫UserInfo端點:

[HttpPost("{Id}"]
public IEnumerable<user> UserInfo(string Id, [FromQuery] string name)
{
    <code goes here>
}

注意我們在UserInfo方法的"name"參數上新增了FromQuery屬性。 FromQuery屬性告訴.NET框架URL應包含一個名為name的查詢字串參數。你的端點URL將變成"users/123?name=john",其中"123"是{Id}佔位符的替換,name=john是將"name"查詢字串參數賦值為"john"。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!