使用 Ajax 从控制器返回 String[]

本文关键字:String 返回 控制器 Ajax 使用 | 更新日期: 2023-09-27 18:30:42

我正在使用Ajax在我的MVC控制器上调用方法。我希望这返回一个string[].如何在 Ajax/MVC 中实现这一点?

是否需要先将其转换为 JSON 对象?如果是这样,我将如何做到这一点?

谢谢

使用 Ajax 从控制器返回 String[]

在 ASP.NET 中,您可以编写一个简单的控制器,如下所示:

public JsonResult GetStringArray()
{
    string[] d = {"a","b","d"};
    return Json(d, JsonRequestBehavior.AllowGet);
}

然后你可以用http://hostname/controllerName/GetStringArray调用它,输出将是["a","b","d"]

如果要发出GET请求,请务必在转换时在末尾添加JsonRequestBehavior.AllowGet

通过使用像jQuery这样的框架,你可以很容易地填充一个下拉列表。

<script src="~/Scripts/jquery.min.js"></script>
<select id="selectString"></select>
<script>
    $(document).ready(function () {
        $.getJSON("http://hostname/controllerName/GetStringArray", function (data) {
            $.each(data, function (index, text) {
                $('#selectString').append(
                    $('<option></option>').val(index).html(text)
                );
            });
        });
    });
</script>
你可以

返回带有任何参数的JSON。创建类似于波纹管的操作

public JsonResult AjaxHandler(string SomeParam)
{
    return Json(new{
            someOtherDataId = 3,
            stringArray = 
                new string[] {"one", "two", "three", "four"}
        },
    JsonRequestBehavior.AllowGet);
}