使用 Jquery Ajax 将数组传递给 asp.net C# 控制器

Posted

技术标签:

【中文标题】使用 Jquery Ajax 将数组传递给 asp.net C# 控制器【英文标题】:Passing array Using Jquery Ajax to asp.net C# Controller 【发布时间】:2021-07-01 09:12:52 【问题描述】:

怎么了?

所以我在 UI 端有一个数组,想将它发送到控制器的操作。 这是我的数组:

var data = [
            
                "receipt": 
                    "Service": "Saab",
                    "Order": "20"
                
            ,
            
                "receipt": 
                    "Service": "Volvo",
                    "Order": "12"
                
            ,
            
                "receipt": 
                    "Service": "BMW",
                    "Order": "25"
                
            
        .
        .
        .
        .
        .
        ]

数组长度可以是 100 或只有 1,因此管理数据变量中所有可用的详细信息非常重要。

我想通过 ajax 将此数组发送到控制器,并在可以使用和管理数据的服务器端捕获它们。我已经阅读了所有类似的问题,但没有帮助...

请帮帮我,这个问题困扰了我超过 3 周。

我使用了这样一个 JQuery Ajax 的简单语句:

     $.ajax(
            type: "POST",
            dataType: "Json",
            contentType: "application/json; charset=utf-8",
            data: data,
            url: "api/Receipt",
            success: function (result) 
                // To Do
                console.info(result);
            ,
            error: function (result) 
                console.info(result);
            
        );

在服务器端我试过这个:

          [WebMethod]
    public IEnumerable<R> Receipt_Turn([FromBody] Object r)
     

我这里有数据但是不能用???

非常感谢;)

【问题讨论】:

告诉我们你尝试了什么? 这听起来像是有人在询问他们学校作业的答案,但没有尝试或提供他们自己尝试过的任何工作示例。这不是 Stack Overflow 的用途... 不,这是为了从 2 个或更多服务之间的市场获取订单。就像你有 5 种面包的面包店。我想要你拥有的每种类型的 10 个单位。我不想在 JS 文件中计算价格,因为它不安全,所以我尝试使用 api 来获取收据详细信息并返回带有收据字符串的计算价格。如果您知道方法,请帮助我,因为经过 3 周的尝试和搜索,我意识到我无法单独处理这部分...@haag1 我用您向@sagi 询问的信息更新了我的问题 【参考方案1】:

这完全取决于您的 api 如何接收您的数据。

可能是:-

JSON.stringify(data);

 string_name : JSON.stringify(data); 

两者都在身体上。注意:这里的 string_name 是在 api 端声明的示例。

【讨论】:

请给我你认为更适合我情况的代码。 Ajax 语句和 api Gate 。以您认为更好的方式发送它并以您认为标准的方式捕获它们,我会遵循...@Toxy 我更新了我的问题,请看@Toxy 分享我整个 api 课程。您更新的问题没有一点帮助,至于您的第一条评论,标准方法是 $.ajax(type: "POST", .....data: JSON.stringify(data);, url: "api/Receipt",....); 但您必须相应地设置 api 才能接收 你好。我创建了一个新问题,其中包含有关我的问题的完整信息。请看一下。 link 。 @Toxy

以上是关于使用 Jquery Ajax 将数组传递给 asp.net C# 控制器的主要内容,如果未能解决你的问题,请参考以下文章

使用目标 AJAX 和 ASP 将复杂模型传递给控制器

如何使用 AJAX JQuery ASP .NET MVC 4 将 FormCollection 和文件传递给控制器

将数据传递到处理程序的 Jquery ajax 不起作用(Asp.net、C#、Jquery)

将 PHP 数组传递给外部 jQuery $.ajax

使用 Jquery/Ajax 将模型传递给控制器

ASP.Net C#MCV - 将值从Ajax Jquery传递给Controller