コントローラーに次のアクションメソッドがあります。
public ActionResult IndexWithJson(int Id, int? page)
{
int pageSize = 2;
int pageNumber = (page ?? 1);
using (var adsRepo = new AdvertisementRepository())
{
if (Id > 0)
{
return Json(new{
Data = adsRepo.GetAdvertisementBySubCategoryId(Id).ToPagedList(pageNumber, pageSize)
}, JsonRequestBehavior.AllowGet);
}
else
{
return View("404");
}
}
}
ブラウザでの結果出力は次のとおりです。
画像でわかるように、"Data" というオブジェクトを使用してデータを (コントローラーにも) まとめています。
jQuery を使用してこれを呼び出すと、次のようになります。
var serviceBase = "/catalog/";
$.ajax({
url: serviceBase + 'IndexWithJson',
contentType: 'application/json; charset=utf-8',
dataType:'json',
data: { Id: categoryId, page: page },
success: function (data) {
alert(data.Title);
}
});
アラート ボックスに null が表示されます。
ここで何が問題なのですか?
アラート ボックスに 1 つのプロパティ (プロパティの図を参照) を実際に表示するにはどうすればよいですか。
私のdataType属性はjQuery ajax関数で正しいですか? (私はそれがJSONPであるべきだと思います