Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core AJAX post没有';Net内核发送数据_Asp.net Core_.net Core_Asp.net Core Mvc_Asp.net Ajax - Fatal编程技术网

Asp.net core AJAX post没有';Net内核发送数据

Asp.net core AJAX post没有';Net内核发送数据,asp.net-core,.net-core,asp.net-core-mvc,asp.net-ajax,Asp.net Core,.net Core,Asp.net Core Mvc,Asp.net Ajax,我有下面的脚本@username是来自模型的变量 <script> var username = "@username" $.ajax({ url: '@Url.Action("fetchChatsForUser")', data: { Username:

我有下面的脚本
@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
始终为空,即使我在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>

var username=“@username”;
$.post('@Url.Action(“fetchChatsForUser”),{Username:Username}).done(函数(e){
控制台日志(e);
$(“#聊天室”).html(e);
});

您的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>

var username=“@username”;
$.post('@Url.Action(“fetchChatsForUser”),{Username:Username}).done(函数(e){
控制台日志(e);
$(“#聊天室”).html(e);
});

因为它来自身体,所以您可以这样更改

Ajax,添加
JSON.stringify(用户名)

巴克德

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

        return PartialView("_Chatroom", Chats);
        
    }
结果


因为它来自身体,所以你可以这样改变

Ajax,添加
JSON.stringify(用户名)

巴克德

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

        return PartialView("_Chatroom", Chats);
        
    }
结果


仍然为空。仍然为空。这解决了问题。我有另一个函数在我的控制器中调用相同的方法。现在这不起作用了,
$(document).on(“click”,“.shadow-inner.block.rounded-l.h-auto.border-b-2.mt-2.cursor-pointer”,函数(){$.post('@Url.Action(“fetchChatsForUser”),{Username:$(this.data(“Username”)}).done(函数(e){$(“#聊天室”).html(e);})
您只需在按钮中输入新的css类名,而不是键入许多css类。例如,View.$(document)。在(“click”、“.btn fetch user”、function(){})上,还要确保按钮的数据用户名有值。另一种方法是将函数添加到按钮中。View.function FetchUser(btn){$.post(..);}这解决了您的问题吗?如果解决了,可以将其标记为已解决。谢谢。这解决了问题。我的控制器中有另一个调用相同方法的函数。现在它不起作用了。
$(document)。在(“click”、“.shadow inner.block.rounded-l.h-auto.border-b-2.mt-2.cursor pointer”,函数(){$.post('@Url.Action(“fetchchatsforser”),{Username:$(this.data(“Username”)}).done(函数(e){$(“#聊天室”).html(e);})
您只需在按钮中输入新的css类名,而不用键入许多css类。例如,View.$(文档)。在(“单击“,”.btn fetch user”,函数(){});并确保按钮的数据用户名有值。另一种方法是向按钮添加函数。View.function FetchUser(btn){$.post(..);}这解决了您的问题吗?如果解决了,可以将其标记为已解决。谢谢。