这会将字符串发布到控制器
var jsonObject = new Object();
jsonObject.url = bankAccountUrl;
var dataobject = JSON.stringify(jsonObject);
// Post to controller
$.ajax({
url: "/Home/SwitchAccounts/",
type: "POST",
contentType: 'application/json',
data: dataobject,
success: function (returnedJson) {
alert(returnedJson.type.toString());
var ob = JSON.parse(returnedJson);
//loop though ob and populate dropdown
}
});
控制器: - 这是一个对象列表的列表
//Global variable
public static List<List<BankTransaction>> transactions = new List<List<BankTransaction>>();
这是选择一个对象列表并将其返回的方法
public JsonResult SwitchAccounts(BankAccounts bankAccount)
{
bankAccountUrl = bankAccount.url;
int count = 0;
string error = "error";
foreach (var transaction in transactions)
{
foreach (var account in transaction)
{
if (bankAccountUrl == account.bank_account)
{
var json = JsonConvert.SerializeObject(transactions[count]);
return Json(new { json }, JsonRequestBehavior.AllowGet);
}
break;
}
count++;
}
// return errror
return Json(new { error }, JsonRequestBehavior.AllowGet);
}
问题在于ajax调用,其他一切正常。 我想根据返回的列表中的内容填充下拉菜单,例如对象列表将具有“名称”但我无法解析json并从列表中获取名称? 有任何想法吗?或者我需要提供更多信息:)