[英]Issue with getJson in asp.net mvc4
我有一個asp.net mvc 4項目,在其中我需要在客戶端通過ajax發送零件數據,然后顯示返回的結果。 但是,我所要回應的只是[]。 我正在調試,並且確定List <>集合不為空。 有人知道我的錯誤在哪里嗎?
<script>
$(document).ready(function() {
$(function() {
$('#navigation a').click(function () {
$.getJSON('/Home/GetJobList', function (data) {
$("#headerJobRow").text("");
$.each(data, function (i, job) {
$("#headerJobRow").append("<li>" + job.Title + "</li>");
});
});
});
});
});
</script>
[HttpGet]
public JsonResult GetJobList()
{
int roll = 0;
if (Request.Cookies["CityId"] != null) {
roll = Convert.ToInt32(Request.Cookies["CityId"].Value);
}
IQueryable<JobsDb_JobPostings> jobs = roll > 1 ? _jobPostRepo.GetAll().Where(x => x.CityID == roll).OrderByDescending(x => x.PostingID) : _jobPostRepo.GetAll().OrderByDescending(x => x.PostingID);
return Json(jobs.ToList(), JsonRequestBehavior.AllowGet);
}
您為什么要嵌套ready
處理程序
$( document ).ready(function() {
// Handler for .ready() called.
});
相當於
$(function() {
// Handler for .ready() called.
});
$ .getJSON是一個異步函數,因此,緊隨其后的代碼將在服務器端操作返回之前執行。
您需要等待.done()回調並訪問其中的數據。
$.getJSON('/Home/GetJobList', function (data) {
}).done(function(data){
$("#headerJobRow").text("");
$.each(data, function (i, job) {
$("#headerJobRow").append("<li>" + job.Title + "</li>");
});
};
編輯:對不起,您需要將data參數傳遞給.done回調。 更新了代碼以顯示該代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.