【问题标题】:how can I pass html model to controller from javascript [duplicate]如何从javascript将html模型传递给控制器​​[重复]
【发布时间】:2020-09-13 22:23:54
【问题描述】:

我在 Employee 控制器 UpdateEmployee 中有以下方法。我想使用 javascript 函数将员工模型的更新值从 html 传递到控制器。如何将模型从 javascript 传递给 Controller,请帮助

[HttpPost]
public IActionResult UpdateEmployee(Employee emp)
{
}

我想将模型从 JavaScript 传递给控制器​​

var url = "/Employee/UpdateEmployee?

$.ajax({
  type: "POST",
  url: url,
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function (data) {

  },
  failure: function (response) {
    console.log(response.responseText);
  },
  error: function (response) {
    console.log(response.responseText);
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

【问题讨论】:

  • 没有显示要发送的任何 javascript 模型。无论您需要发送什么,都需要使用data: JSON.stringify(myJSmodel)

标签: javascript html jquery asp.net-core


【解决方案1】:

如果你想获取json数据,你需要使用[FromBody],这里有一个演示:

控制器:

 public class EmployeeController:Controller
    {
        [HttpPost]
        public IActionResult UpdateEmployee([FromBody]Employee emp)
        {
            return Json(emp);
        }
}

型号:

public class Employee
    {
        public int id { get; set; }
        public string name { get; set; }
    }

ajax:

<script>
        var url = "/Employee/UpdateEmployee"
        var datas = {
            id: 1,
            name: 'nm'
        }
        $.ajax({
            type: "POST",
            url: url,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: JSON.stringify(datas),
            success: function (data) {
                console.log(data)
            },
            failure: function (response) {
            console.log(response.responseText);
            },
            error: function (response) {
                console.log(response.responseText);
            }
        })
    </script>

结果:

【讨论】:

  • 我认为[FromBody] 在这种情况下是可选的。另外,永远不要编写自己的 JSON。使用JSON.stringify({"id":1,"name":"nm"})
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2019-08-31
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多