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



>我在传输json数据时遇到了一些麻烦。

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

var Filters = { daterange: $('#daterange').val(), shop: val_shop, pr: val_pr, plan: val_plan, TabsList: TabsList }
$.ajax({
url: "/Reports/Report_2",
type: "POST",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(
Filters
)
});

我尝试用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)
}

我收到错误 415。 =(

如果我尝试不要重载Report_2 Action((。

$.ajax({
url: "/Reports/Report_2_Filter",
type: "POST",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(
Filters
)
});
[HttpPost]
public async Task<JObject> Report_2_Filter([FromBody]JObject jsonResult)
{
return jsonResult;
}

我不知道页面上的返回结果如何Report_2。我需要Report_2操作的结果,因为我必须在Report_2页面上填写表格。我是网络的新手,所以我会很高兴得到任何帮助。

可能需要写("(;

var Filters = { "daterange": $('#daterange').val(), "shop": val_shop, "pr": val_pr, "plan": val_plan, "TabsList": TabsList }

您可以添加要在成功时执行的函数。尝试将以下内容添加到您的 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();  
}

在JS中,我使用jQuery函数$.post

$.post("/Reports/Report_2", { var1: $('#var1').val(), var2: var2, var3: var3, var4: var4, var5: var5});

最新更新