当我的控制器返回一个对象列表时,我似乎无法弄清楚为什么我的 $.get 调用返回一个带有包含我的元素的字符串的单个对象。
控制器:
public JsonResult GetInitialTags(int id)
{
Model = new UnitDetailsModel(UnitClient.GetUnit(id));
foreach (var tag in Model.ViewUnitContract.Tags)
{
Model.TagsSelected.Add(tag);
}
var result = Model.TagsSelected.Select(a => new
{
id = a.Id,
text = a.Name
});
return Json(result, JsonRequestBehavior.AllowGet);
}
这将返回一个包含两个对象 ([0], [1]) 的数组。但是,当我从视图中调用 ajax 时,如下所示:
var data = $.get('@Url.Action("GetInitialTags", "UnitDetails", new { id = Model.ViewUnitContract.Id })');
.. 它返回一个具有responseText
包含我的元素的属性的对象,如下所示:
responseText: "[{"id":27,"text":"Norway"},{"id":28,"text":"Sweden"}]"
任何帮助,将不胜感激!:)