ASP.NET Core 2.0のRazor Pagesからデータを取得しようとしています。レイザーページで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>
}
P.S.このページをフォルダ/ Products/Index.cshtml(.cs)
失敗したajax呼び出しをデバッグしようとすると、私の最初の本能は、エラーコールバックを設定し、私に言っていたことが間違っているのを見ることになります... –
ブラウザでF12を押して、 +コンソール。 – CalC
私は同様の質問をし、最終的には動作するようにしました(前のコメントを参照)。しかし、AJAX呼び出し用のWeb APIコントローラの作成がより簡単でより良いアプローチであると判断しました。 –