我是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');
}
这应该适用于后端:
[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。