Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript jQuery Ajax调用即使在Json.Stringify()之后也与控制器参数不匹配_Javascript_Jquery_Json_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript jQuery Ajax调用即使在Json.Stringify()之后也与控制器参数不匹配

Javascript jQuery Ajax调用即使在Json.Stringify()之后也与控制器参数不匹配,javascript,jquery,json,ajax,asp.net-mvc,Javascript,Jquery,Json,Ajax,Asp.net Mvc,有人能指出我做错了什么吗?我遵循了使用jQuery和$.ajax请求从视图调用MVC控制器的标准方法。我还将模型的名称与参数进行了匹配。 这是我的控制器,当调用ajax调用但在参数中获得空值时,它会被击中: [HttpPost, Route("GetUserSettingsTable")] public ActionResult GetUserSettingsTable(List<UserSettingsTable> userSettings) {

有人能指出我做错了什么吗?我遵循了使用jQuery和$.ajax请求从视图调用MVC控制器的标准方法。我还将模型的名称与参数进行了匹配。 这是我的控制器,当调用ajax调用但在参数中获得空值时,它会被击中:

    [HttpPost, Route("GetUserSettingsTable")]
    public ActionResult GetUserSettingsTable(List<UserSettingsTable> userSettings)
    {
        return PartialView("_UserSettingsTable.cshtml", userSettings);
    }
我无法找到不匹配的位置,因为当我调用控制器时,它的参数值变为null。非常感谢您的帮助。

从数据中删除JSON.stringify()

$.ajax({
     url: '@Url.Action("GetUserSettingsTable", "Admin")',
     type: "POST",
     data: userSettings,
    success : function (result)
    {
        $('#userSettingsTable').html(result);
    },
    error: function (result)
    {
        alert(result);
    }
});

如果您使用
JSON.stringify(..)
,那么您还需要包括
contentType:'application/JSON'
我不知道为什么会发生这种情况,但在我的测试环境中,类型“POST”工作得很好。然而,在我的生产服务器上,它坏了——类型:“POST”不起作用。我还是很好奇为什么。但是试着输入“post”,也许对你有用。请解释问题所在,不要只是发布代码。如果你不解释这个问题,对提问的人没有什么帮助。
public class UserSettingsTable
    {
        public string UserName { get; set; }

        public string UserCountry { get; set; }

        public string UserSourceSystem { get; set; }
    }
$.ajax({
     url: '@Url.Action("GetUserSettingsTable", "Admin")',
     type: "POST",
     data: userSettings,
    success : function (result)
    {
        $('#userSettingsTable').html(result);
    },
    error: function (result)
    {
        alert(result);
    }
});