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控制器是更簡單和更好的方法。 –