You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#控制器中处理前端JSON.stringify序列化的数组

如何将JavaScript数组直接传递给C# MVC控制器并获取数组类型数据

要实现直接在C#控制器中获取数组类型数据,需要调整JavaScript的AJAX请求格式,并利用ASP.NET MVC的模型绑定功能,具体修改如下:

修改JavaScript AJAX请求

调整data的序列化方式,并指定请求方法为POST(GET请求不适合传递复杂数组,且可能存在URL长度限制):

function Check(obj) {
    var eArray = $('..').map(function () {
        return this.getAttribute("value");
    }).get();

    $.ajax({
        url: "/Order/Check",
        data: JSON.stringify({ GUID: eArray }), // 直接序列化包含数组的对象
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        type: "POST", // 指定POST方法
        success: function(result) {
            // 这里可以添加返回结果的处理逻辑
        }
    });
}

修改C#控制器代码

添加[HttpPost]特性,并直接声明数组类型的参数,ASP.NET MVC会自动完成JSON到数组的绑定:

[HttpPost]
public ActionResult Check(string[] GUID)
{
    // GUID就是直接获取到的字符串数组,可直接进行业务处理
    var result = // 编写你的业务处理逻辑,生成返回结果
    return Json(result, JsonRequestBehavior.AllowGet);
}

关键说明

  1. 请求格式匹配:contentType: "application/json; charset=utf-8"告诉服务器请求体是JSON格式,框架会自动使用JSON解析器处理请求内容,完成参数绑定。
  2. 请求方法选择:使用POST而非默认的GET,避免URL长度限制,同时更符合复杂数据传递的场景。
  3. 参数类型灵活:控制器参数可以是string[],也可以根据需求换成List<string>,框架都能正确完成绑定。

内容的提问来源于stack exchange,提问作者user21076978

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:25:18