【发布时间】:2015-07-21 15:43:41
【问题描述】:
我在使用 Json 时遇到了奇怪的问题。
我正在对 Controller 方法进行 ajax 调用,该方法将字符串作为输入并发送回我的类的列表。
基本上,我在更改下拉菜单时调用 json,以加载另一个下拉菜单的相应字段。
在下拉菜单 1 中,我有 2 个选项和一个占位符(“选择”)。
奇怪的是,当我选择 2 选项时,它会将数据添加到下拉菜单 2。但是如果我选择选项 1,那么它不会在 json 调用中获取数据,因此不会添加任何内容到下拉菜单 2,虽然我的控制器函数正在返回 json 中的数据。
我的 json 调用如下:
function changeTable() {
var index = 0;
var info = { majoraccountvalue: document.getElementById("expancesMajorAccount").value };
var dropdowm = $("#expancesMinorAccountName");
jQuery.ajax({
type: "POST",
url: "@Url.Action("GetData")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(info),
success: function (data) {
debugger;
var arr = data.MinorAccountHeads;
dropdowm.empty()
alert(data);
for (index = 0; index < arr.length; index++) {
dropdowm.append($('<option></option>').val(arr[index].ID).html(arr[index].Name));
}
},
failure: function (errMsg) {
alert(errMsg);
}
});
}
而我的控制器方法是:
public JsonResult GetData(long majoraccountvalue)
{
Myclass model = new myclass();
model.FillData(majoraccountvalue);
return Json(new { model.MinorAccountHeads });
}
我的控制器函数在这两种情况下都返回数据。当我选择选项 1 以及选择选项 2 时。
谢谢
【问题讨论】:
标签: c# jquery asp.net ajax json