c# - C# MVC 通过 JQuery AJAX 发送对象
问题描述
尽管我研究了 stackoverflow 和很多文档,但我仍然坚持这一点:我无法通过 jquery ajax 将对象发送到 ac# mvc 应用程序。我在控制器中返回的订单属性的值总是空的。
谢谢你的帮助!
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# 模型
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# 控制器
// POST my-route
[HttpPost]
public Order Post(Order order)
{
return order;
}
安慰
解决方案
您需要更改方法签名以包含 [FromBody]
所以:公共订单发布([FromBody]订单)
推荐阅读
- authentication - 登录表单:先询问电子邮件有什么好处?
- javascript - 当我单击锚点时,网站的菜单不会消失
- javascript - 在javascript中将二进制数据保存到文件
- javascript - 使用伪类从父元素遍历到第一个子元素未按预期工作
- vba - 格式化 MeetingItem 开始日期和结束日期
- json - Flutter 将 json 作为字节发送到 websocket 服务器?
- html - 使用谷歌翻译的默认翻译语言
- java - 使用条件转换 HashMap 中的流
- javascript - Javascript .forEach() 不适用于 DOM 节点,因为它们在过程中会发生变化
- sql - 如何从 SQL Server 中恢复已删除的数据?