0
我想从ASP.NET Core 2.0中的Razor页面获取一些数据。无法在Razor页面中使用ajax获取json数据
但问题是它不返回任何数据。 我也尝试调试它,它根本不会触发该方法(OnGetProducts)。
模型Index.cshtml.cs:
private IProductRepository _productRepository;
public IndexModel(IProductRepository repository)
{
_productRepository = repository;
}
public void OnGet()
{
}
public IActionResult OnGetProducts(int page)
{
var model = _productRepository.GetProducts().Skip(page * 10).Take(10);
return new JsonResult(model);
}
剃刀页面Index.cshtml
<div id="products">
</div>
@section scripts{
<script>
$(function() {
getProducts(0);
});
var isInitialized = false;
function getProducts(page) {
$.ajax({
type: 'GET',
url: "Products",
contentType: "application/json",
dataType: "json",
data: {
handler: 'Products',
page: page
},
success: function (datas) {
console.log(datas);
}
});
}
</script>
}
附:此页面位于文件夹Pages/Products/Index.cshtml(.cs)
我的第一本能,如果我试图调试一个失败的ajax调用将设置错误回调,看看它是什么告诉我出错了...... –
也在您的浏览器中点击F12,并看看网络选项卡+控制台。 – CalC
我问了一个类似的问题,并最终得到它的工作(请参阅prev评论),但决定为AJAX调用创建Web API控制器是更简单和更好的方法。 –