Javascript 从ajax获取json数据,处理它,返回答案
我在传输json数据时遇到一些问题 我有一些动态页面。我将数据收集到json对象“过滤器” 我试着用JObject来做Javascript 从ajax获取json数据,处理它,返回答案,javascript,c#,asp.net-core,asp.net-core-mvc,Javascript,C#,Asp.net Core,Asp.net Core Mvc,我在传输json数据时遇到一些问题 我有一些动态页面。我将数据收集到json对象“过滤器” 我试着用JObject来做 public IActionResult Report_2() //main Action { return View(); } [HttpPost] public async Task<IActionResult> Report_2([FromBody]JObject jsonResult)//catch json obj
public IActionResult Report_2() //main Action
{
return View();
}
[HttpPost]
public async Task<IActionResult> Report_2([FromBody]JObject jsonResult)//catch json object
{
//do something
return View(_context.MyDatabase.Result);//return data from database for table(Razor Page)
}
public IActionResult Report_2()//主操作
{
返回视图();
}
[HttpPost]
公共异步任务报告\u 2([FromBody]JObject jsonResult)//捕获json对象
{
//做点什么
返回视图(_context.MyDatabase.Result);//从数据库返回表的数据(Razor页)
}
我得到错误415=(
如果我尝试,请不要重载Report_2 Action()
$.ajax({
url:“/Reports/Report\u 2\u Filter”,
类型:“POST”,
contentType:“应用程序/json”,
数据类型:“json”,
数据:JSON.stringify(
过滤器
)
});
[HttpPost]
公共异步任务报告\u 2\u筛选器([FromBody]JObject jsonResult)
{
返回jsonResult;
}
我不知道如何在Report_2页面上返回结果。我需要Report_2操作的结果,因为我必须填写Report_2页面上的表格。我是web新手,因此我非常乐意提供任何帮助。您可以添加一个函数,以便在成功后执行。尝试在ajax请求中添加以下内容:
success: function(data){
// Do something here
}
看看ajax事件。可能是您需要写(“”)
我的解决方案:
我创建了一个存储变量的类:
public class FilterModel
{
public string var1{ get; set; }
public string var2{ get; set; }
public string var3{ get; set; }
public string var4{ get; set; }
public List<string> var5{ get; set; }
}
[HttpPost]
public IActionResult Report_2(FilterModel filter)
{
FilterLogic filterLogic = new FilterLogic(_context);
var result = filterLogic.GetResult(filter);
return View();
}
不要认为这是个问题。主要问题-如果我在Action参数中添加JObject,我会得到错误415。你可能会得到更多的错误415-回复的内容是什么?你能分享完整的视图和javascript代码吗?我没能根据提供的代码重现你的问题,它工作得很好。如果你想填写报告2 pa上的表格您可以使用来包含该表,然后在ajax的success函数中呈现部分视图。
success: function(data){
// Do something here
}
var Filters = { "daterange": $('#daterange').val(), "shop": val_shop, "pr": val_pr, "plan": val_plan, "TabsList": TabsList }
public class FilterModel
{
public string var1{ get; set; }
public string var2{ get; set; }
public string var3{ get; set; }
public string var4{ get; set; }
public List<string> var5{ get; set; }
}
[HttpPost]
public IActionResult Report_2(FilterModel filter)
{
FilterLogic filterLogic = new FilterLogic(_context);
var result = filterLogic.GetResult(filter);
return View();
}
$.post("/Reports/Report_2", { var1: $('#var1').val(), var2: var2, var3: var3, var4: var4, var5: var5});