如何将值发布到控制器以接收数据以查看Angular 5+?

问题描述 投票:1回答:1

我是Angular的新手,所以我不确定这是不是最好的方法。我想将数据从我的视图发布到我的控制器Api以及从我的视图中发布的值我想将它用作我的get方法的查询。如果我硬编码searchVal值到我的函数我的post和get方法都有效。但是当我添加public string searchVal { get; set; }以使用我的post方法中的值作为我的get方法的查询时,我的应用程序不再显示数据。

[Route("api/[controller]")]
public class OperationDataController : Controller
{
    public OperationDataController()
    {
        searchVal = "";
    }

    public string searchVal { get; set; }
    [HttpGet("[action]")]
    public async Task<Search> GetAllTweetsByName()
    {
        Twitter twit = new Twitter();
        twit.Initialise();
        var t = await twit.Fetch(searchVal, 50, true, SearchType.Search);
        return t[0];
    }

    [HttpPost("[action]")]
    public async Task<Search> GetAllTweetsByNamePost([FromBody] dynamic searchQuery)
    {
        var jsonString = JsonConvert.SerializeObject(searchQuery);
        var Input = JsonConvert.DeserializeObject<SearchQuery>(jsonString);
        searchVal = Input.Name;

        Twitter twit = new Twitter();
        twit.Initialise();
        var t = await twit.Fetch(Input.Name, 50, true, SearchType.Search);
        return t[0];
    }
}

TypeScript函数:

getSocialDataTwitter() {
    return this.http.get<LeftOperatorPaneltwitter>(this.baseUrl + 'api/OperationData/GetAllTweetsByName');
}
angular api controller
1个回答
1
投票

这应该适用于后端:

[HttpPost("[action]")]
public async Task<Search> GetAllTweetsByName([FromBody] SearchQuery searchQuery)
{
    searchVal = searchQuery.Name;

    Twitter twitter = new Twitter();
    twitter.Initialise();
    var t = await twitter.Fetch(searchVal, 50, true, SearchType.Search);
    return t[0];
}

角度方面:

getSocialDataTwitter() {
    return this.http.post<LeftOperatorPaneltwitter>(this.baseUrl + 'api/OperationData/GetAllTweetsByName', searchQuery );

顺便说一下,我们对你的后端环境一无所知。这适用于.NET Core 2。

© www.soinside.com 2019 - 2024. All rights reserved.