微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AJAX 帖子不发送数据 .Net Core

如何解决AJAX 帖子不发送数据 .Net Core

我有以下脚本。 @username 是来自模型的变量。

  <script>
                    var username = "@username"
                    $.ajax({

                          url: '@Url.Action("fetchChatsForUser")',data: { Username: username },type: "POST",dataType: 'JSON',contentType: "application/json",success: function (e) {
                              console.log(e);
                              $("#Chatroom").html(e)
                          },error: function (passparams) {
                              console.log("Error is " + passparams);
                          }
                      })

</script>

我检查了 username 的值,它不是空的或空的,它正在工作。但是,在我的控制器中,当 fetchChatsForUser 调用 ajax 时,发送的数据为空。 这是控制器

public IActionResult fetchChatsForUser(string Username)
    {
        Chat Chats = new Chat();
        
        return PartialView("_Chatroom",Chats);
    }

控制器中的 string Username 始终为空,即使我在 ajax 中传递数据。不过,该方法确实被调用了。我在这里做错了什么

解决方法

你的ajax使用POST,你的函数是Get。所以你需要把[HttpPost]

[HttpPost]
public IActionResult fetchChatsForUser(string Username)

或者你试试这个 jquery。

<script>
var username = "@username";
$.post('@Url.Action("fetchChatsForUser")',{ Username: username }).done(function (e) {
   console.log(e);
   $("#Chatroom").html(e);
});
</script>
,

因为是来自body,所以可以这样改。

Ajax,添加 JSON.stringify(username)

                var username = "@username"
                $.ajax({

                      url: '@Url.Action("fetchChatsForUser")',data: JSON.stringify(username),type: "POST",dataType: 'JSON',contentType: "application/json",success: function (e) {
                          console.log(e);
                          //$("#Chatroom").html(e)
                      },error: function (passParams) {
                          console.log("Error is " + passParams);
                      }
                  })

烘焙

    [HttpPost]
    public IActionResult fetchChatsForUser([FromBody]string Username)
    {
        Chat Chats = new Chat();

        return PartialView("_Chatroom",Chats);
        
    }

结果

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。