首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# MVC通过JQuery AJAX发送视图

C# MVC通过JQuery AJAX发送视图
EN

Stack Overflow用户
提问于 2018-05-30 20:18:38
回答 3查看 82关注 0票数 2

尽管我深入研究了堆栈溢出和大量文档,但我仍然无法通过jquery将对象发送到c# mvc应用程序。在控制器中返回的顺序的属性值总是看起来是空的。

谢谢你的帮助!

JAVASCRIPT

代码语言:javascript
运行
复制
function Order()
{
    this.Partner;
    this.OrderID;
    this.TypeOfOrder;
    this.SubmittedBy;
    this.CompanyID;
    this.CompanyName;
}

jQuery('button[type="submit"]').click(function (event) {
    event.preventDefault();

    var order = new Order();
    order.Partner = "ABC",
    order.OrderID = "123";
    order.TypeOfOrder = "Website";

    console.log(order);

    jQuery.ajax({
        url: "/my-route",
        type: "POST",
        dataType: 'json',
        contentType: "application/json",
        data: order,
        success: function (data) {
            console.log(data);
        },
        failure: function (response) {
            console.log("ERROR!");
        }
    });
})

C#模型

代码语言:javascript
运行
复制
public class Order
{
    public string Partner { get; set; }
    public string OrderID { get; set; }
    public string TypeOfOrder { get; set; }
    public string SubmittedBy { get; set; }
    public string CompanyID { get; set; }
    public string CompanyName { get; set; }
}

C#控制器

代码语言:javascript
运行
复制
// POST my-route
[HttpPost]
public Order Post(Order order)
{
    return order;
}

控制台

EN

回答 3

Stack Overflow用户

发布于 2018-05-30 20:21:29

您需要更改方法签名以包含FromBody。

公共秩序邮报(FromBodyOrder order)

票数 1
EN

Stack Overflow用户

发布于 2018-10-30 07:02:38

只需删除ajax调用中的内容类型即可。看起来会是这样的。

代码语言:javascript
运行
复制
jQuery.ajax({
    url: "/my-route",
    type: "POST",
    dataType: 'json',
    data: order,
    success: function (data) {
        console.log(data);
    },
    failure: function (response) {
        console.log("ERROR!");
    }
});

ajax将默认设置内容类型。

票数 0
EN

Stack Overflow用户

发布于 2019-03-01 03:21:24

  • 只需从代码中删除dataType和contentType,如下所示。
  • Url应该是"/ControllerName/MethodName“,我已经在我的系统中用控制器名检查了它,并且它工作得很好。 jQuery.ajax({ url: "/controllerName/methodName", type: "POST", data: order, success: function (data) { console.log(data); }, failure: function (response) { console.log("ERROR!"); } });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50612773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档