Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ajax获取json数据,处理它,返回答案_Javascript_C#_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

Javascript 从ajax获取json数据,处理它,返回答案

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

我在传输json数据时遇到一些问题

我有一些动态页面。我将数据收集到json对象“过滤器”

我试着用JObject来做

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});