【问题标题】:Jquery Ajax Not Passing Data to MVC ControllerJquery Ajax 不向 MVC 控制器传递数据
【发布时间】:2022-02-01 16:27:46
【问题描述】:

我正在使用 jquery 的 ajax 方法向 MVC 控制器提交数据。但是,没有数据传递给控制器​​。我尝试将控制器预期的参数更改为字符串和预期的对象。当它是一个字符串时传递 null 并且当它是一个对象时创建一个空对象。

下面的代码不言自明,但作为简要说明,我正在创建一个包含客户数据的 javascript 对象,并将其作为 ajax 调用的一部分进行字符串化。

我知道以前有过这方面的帖子,我关注过但没有成功。

非常感谢任何帮助。

 var data = {
                 id: _CustomerID,
               Address1 : _Address1,
               Address2 : _Address2,
               Address3 : _Address3,
               Address4 : _Address4,
               PostCode : _Address5,
               EmailAddress : _Email,
               PhoneNumber : _Phone,
               postemail: _postemail,
               postonly: _postonly,
               emailonly: _emailonly
         }
         url = '@Url.Action("UpdateContactDetails", "MyAccount")';

         $.ajax({
                type: "POST",
                dataType: "json",
                data: JSON.stringify({CustomerObj: data}),
                url: url,
                contentType: "application/json"
            }).done(function (res) 
            {
                //process result
            });

【问题讨论】:

  • 删除datatype 参数。看看控制器的动作思维会很有帮助

标签: jquery ajax asp.net-mvc


【解决方案1】:

我用这个website 来测试你的Ajax 请求,你必须发送对象参数而不是JSON.stringify

Ajax 请求示例代码:

$.ajax({
  type: 'POST',
  dataType: 'json',
  data: {
    'name': 'morpheus',
    'job': 'leader'
  },
  url: 'https://reqres.in/api/users'
}).done(function(response) {
  console.log(response)
});

【讨论】:

  • 太棒了。谢谢。
猜你喜欢
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
相关资源
最近更新 更多