为什么我的List <string>没有从$ ajax调用的MVC控制器返回 - javascript

我正在尝试使用ajax调用在cshtml文件中创建定制列表

.ajax({
        type: "GET",
        cache: false,
        url: "@Url.Action("getValidationLists")",
        contentType: "application/json",
        dataType: "json",
        success: function (result) {                
            var list = result.list;
            $.each(list, function (index, value) {
                alert(value);
            });
        }
    });       

然后,控制器收集数据并将其放入列表中,然后使用json格式将其返回到我的cshtml文件中。控制器方法如下

[HttpGet]
[Authorize]
public JsonResult getValidationLists()
{
    List<List<String>> validList = new List<List<String>>();
    List<UIReferenceData> results = AddErrorsToModelState<List<UIReferenceData>>(_StaticDataServiceAgent.GetAllAssetTypes());
    for (int i = 0; i < results.Count; i++)
    {
        List<String> resultList = new List<String>();
        string id = results[i].ID.ToString();
        string name = results[i].Name;
        resultList.Add(id);
        resultList.Add(name);
        validList.Add(resultList);
    }
    return Json(new
    {
        validList = validList
    }, JsonRequestBehavior.AllowGet);
}

我尝试了几种不同的版本,但是返回的代码永远不会达到alert(value);码。
我想念什么?

参考方案

您从操作方法返回的JSON响应如下所示

{
    "validList": [      
        ["1", "SomeText"],
        ["2", "SomeText"],
        ["3", " SomeText"]
    ]
}

您的响应具有validList属性,该属性是一个数组,并且数组中的每个项目都是另一个包含2个项目的数组。

这应该工作

 success: function (result) {           
     $.each(result.validList, function (index, value) {
       console.log(value[0]);
       console.log(value[1]);
    });
 }

无法从ArrayList <String>转换为List <Comparable> - java

当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…

在<select>元素上忽略了DDSlick的“ selected”属性 - javascript

我正在使用以下jQuery插件:http://designwithpc.com/Plugins/ddSlick要在下拉列表中显示可选图像,请选择框。它与我尝试使用已选择的选项加载html时非常有用,但在DDSlick中未选择此选项(因此它仅显示第一个选择的选项)。如何转换:<select class="homepage_icon" …

表单不提交或按钮提交不起作用 - javascript

据我所知,此代码必须有效,但是我编码时却无效问题在于该表单未提交。我该如何解决?选中时,我什至没有得到复选框的值。<table id="example" class="display" cellspacing="0" width="100%"> <thead&g…

单击<span>标记以运行JQuery javascript函数[重复] - javascript

This question already has answers here: Event binding on dynamically created elements? (23个答案) 2年前关闭。 我使用PHP这样创建跨度。if ($subnetkey == 1 ) { echo ("<span class='subnetke…

用多个通配符替换正则表达式可在PHP中工作,而不能在JavaScript中工作 - javascript

我正在尝试为两个Markdown解析器实现中心对齐:在Parsedown的PHP中(成功)在Bootstrap Markdown的JavaScript中(未成功)我遵循并找到最简单的方法是使用最终的HTML输出,只需将内联样式捕捉到标签上即可。以下正则表达式可以满足我的需要,它会根据需要将style="text-align:center;"…