AJAX POST不发送数据.Net Core [英] AJAX post doesn't send data .Net Core

查看:0
本文介绍了AJAX POST不发送数据.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的值,它不是空的或空的,它正在工作。然而,在我的控制器中,当fetchChatsForUserajax调用时,发送的数据为空。 这是控制器

public IActionResult fetchChatsForUser(string Username)
    {
        Chat Chats = new Chat();
        
        return PartialView("_Chatroom", Chats);
    }
即使IM在AJAX中传递数据,string Username中的控制器也始终为空。不过,该方法确实会被调用。我在这里做错了什么

推荐答案

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>

这篇关于AJAX POST不发送数据.Net Core的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆