在ASP.NET Core 2.2 Razor Pages中,如果在AJAX调用页面模型后未返回数据,可能有以下几种解决方法:
Json()
方法返回一个JsonResult
对象,该对象包含要返回的数据。例如:public IActionResult OnPostGetData()
{
var data = // 获取数据的逻辑
return new JsonResult(data);
}
OnGet
方法而不是OnPost
方法:
如果你的AJAX调用是使用GET方法发送的,可以使用OnGet
方法来处理请求。在页面模型中添加一个OnGet
方法,并将其命名为OnGetGetData
(或根据你的需求进行命名)。例如:public IActionResult OnGetGetData()
{
var data = // 获取数据的逻辑
return new JsonResult(data);
}
get
方法而不是post
方法:
如果使用AJAX调用页面模型的方法时未返回数据,尝试将AJAX调用的方法更改为使用get
方法而不是post
方法。例如:$.get('/yourPage?handler=getData', function(data) {
// 处理返回的数据
});
$.ajax
方法进行AJAX调用:
如果以上方法都不起作用,可以尝试使用$.ajax
方法进行AJAX调用,并在success
回调函数中处理返回的数据。例如:$.ajax({
url: '/yourPage?handler=getData',
type: 'post',
dataType: 'json',
success: function(data) {
// 处理返回的数据
}
});
以上是一些可能解决问题的方法,具体应该根据你的代码和需求进行调整。