使用ASP.NET Core和Jquery将对象从Ajax请求绑定到ASP MVC控制器

帕拉克

我正在努力从ajax请求中将json数据发布到asp mvc控制器方法中,但是由于某些未知原因,asp mvc模型绑定程序未将其绑定。

我尝试遵循在此处发布的多个答案,包括以下内容

将JSON对象发布到ASP MVC无法正常工作

但是我的jQuery ajax方法始终将空值发布到ASP MVC控制器。

基本上,我试图通过ajax请求加载部分视图。

Ajax请求

var myData =
 {
        "Id": 7,
        "Name": "Name 1"
 };

  var obj = { 'test': myData };
  var val = JSON.stringify(obj);
  console.log(val);

  $.ajax({
    type: 'POST',
    dataType: 'html',
    url: '/Home/Partial',
    contentType: 'application/json',
    data: val,
    success: function (xhr, status, response) {
             console.log(response);
             $('#1').html(response.responseText);
         },
    error: function (err) {
        alert("error - " + err);
    }
   });

控制器方式

[HttpPost]
public IActionResult Partial(Test test)
{
   return PartialView("_Test", test);
}

模型

public class Test
{
    public int Id;
    public string Name;
}
恩科西

myData 足以绑定对象。

var myData = { Id: 7, Name: "Name 1" };
var val = JSON.stringify(myData);
console.log(val);

$.ajax({
  type: 'POST',
  dataType: 'html',
  url: '/Home/Partial',
  contentType: 'application/json',
  data: val,
  success: function (xhr, status, response) {
    console.log(response);
    $('#1').html(response.responseText);
  },
  error: function (err) {
    alert("error - " + err);
  }
});

您还应该考虑[FromBody]参数的属性,以便模型绑定器知道检查模型的主体。

[HttpPost]
public IActionResult Partial([FromBody]Test test)  {
    return PartialView("_Test", test);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章