Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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 mvc MVC项目中的控制器从Ajax Post调用返回null_Asp.net Mvc - Fatal编程技术网

Asp.net mvc MVC项目中的控制器从Ajax Post调用返回null

Asp.net mvc MVC项目中的控制器从Ajax Post调用返回null,asp.net-mvc,Asp.net Mvc,我不确定控制器为什么从Ajax调用接收数据。我会做错什么吗 [HttpPost] [Route("Product/UpdateDetails")] public ActionResult UpdateProduct (ProductModel model) <<// model here is null { Product p = new Product {

我不确定控制器为什么从Ajax调用接收数据。我会做错什么吗

[HttpPost]
        [Route("Product/UpdateDetails")]
        public ActionResult UpdateProduct (ProductModel model) <<// model here is null
        {
            Product p = new Product
            {
                ProductId = p.ProductId,
                Price = p.Price,

            };


            return View("_ProductDetail"); }
你们能在上面的代码中发现我可能做错了什么吗?我看不出我做错了什么。

试试这个:

$.ajax({
     url: '/Product/UpdateDetails',
     type: 'Post',
     contentType: "application/json; charset=utf-8",
     data: json,
     success: function (results) {

     }
});
您在模型上使用了
JSON.Stringify()
,但在ajax调用中忘记使用变量
“JSON”
,因此ajax试图发布一个“非JSON”模型


另外,ajax调用中没有
model
设置,发布数据的正确方法是
data
,如您所见。

只需删除
contentType:“application/json;charset=utf-8”、
model:model、
并添加
data:model
。(没有必要对数据进行字符串化,但您没有使用它)
$.ajax({
     url: '/Product/UpdateDetails',
     type: 'Post',
     contentType: "application/json; charset=utf-8",
     data: json,
     success: function (results) {

     }
});