コントローラーから返された json オブジェクトをループする必要があります。
私のコントローラーコード
public ActionResult GetJobs()
{
var jobs = new JobConfig().getJobs(User.Identity.Name);
return Json(jobs.ToList(),JsonRequestBehavior.AllowGet);
}
私のJavaScriptコード
$(document).ready(function () {
$('#search').click(function () {
$.when(
getUser(), //Get User Details
getJobs()//Get Jobs
).then(process);
});
});
function getUser() {
return $.ajax({
type: 'GET',
url: '/ManageUsers/GetUser',
data: { UserName: $('#txtUser').val() },
dataType: 'json'
});
}
function getJobs() {
return $.ajax({
type: 'GET',
url: '/ManageUsers/GetJobs',
dataType: 'json'
});
}
function process(user,jobs) {
//Show the user here
if (user[0].Name != null) {
var list = '<p> User : ' + user[0].Name + '<br/>';
list += 'Email : ' + user[0].Email + '<br/>';
list += 'Role : ' + user[0].Role + '<br/>';
list += 'UserData : ' + user[0].UserData;
list += '</p><br/>';
alert(jobs.length);
$('#user').empty();
$('#user').append(list);
}
else {
$('#user').empty();
$('#user').append('User not exists');
}
}
alert(jobs.length) は、ジョブ オブジェクトが次のように見えるため、長さが 3 であると言います
jobs: Array[3]
0: Array[1]
1: "success"
2: Object
しかし、私は 0 要素だけに関心があります。
return $.ajax 関数を使用したときに結果が返される方法だと思います。
ジョブ配列から最初の要素を取得することについて何か考えはありますか?
よろしく、
サブ