MVC 从控制器获取数据以使用 AJAX 查看有啥问题?
Posted
技术标签:
【中文标题】MVC 从控制器获取数据以使用 AJAX 查看有啥问题?【英文标题】:MVC get data from controller to view using AJAX what's wrong?MVC 从控制器获取数据以使用 AJAX 查看有什么问题? 【发布时间】:2020-09-18 23:23:40 【问题描述】:我正在尝试从控制器获取数据以查看并使用 ajax 接收它,这是我的操作:
public JsonResult addtocart(int id)
var Product = db.Product.SingleOrDefault(c => c.id == id);
var Cart = new Cart();
ProductCart pc = new ProductCart()
Product = Product,
Cart = Cart
;
pc.Cart.added_at = DateTime.Now;
pc.Cart.product_id = pc.Product.id;
db.Cart.Add(pc.Cart);
db.SaveChanges();
return Json(pc.Product, JsonRequestBehavior.AllowGet);
当我为其中一种产品按下“添加到购物车”按钮并且我想将其添加到包含表格的模式时,它的类是“myjxT”,这是我的 ajax:
$('.addtocart').click(function ()
var name = $(".item-name").text();
var price = $(".item-price").text();
$.ajax(
method :'GET',
url: "/Product/addtocart",
dataType: JSON,
cache: false,
data: "Name": name, "Price": price ,
success: function (data)
var content = "";
for (var x in data)
content = "<tr><td>" + data[x].Name + "</td><td>" + data[x].Price + "</td></tr>"
$(".myjxT").html(content);
,
error: function (msg)
alert("something wrong");
);
);
但是当我点击“添加到购物车”时它什么也不做,它会将我引导到这个 URL:“Product/addtocart/35”,其中 35 是产品 ID,并且页面包含产品的 json 对象:
"Category":"id":11,"name":"kikii","number_of_products":3,"id":35,"name":"Samsung Galaxy M31","price":8000,"image":"Samsung Galaxy M31.jpg","description":"t is a long established ","CategoryId":11
这是 foreach 循环内的“添加到购物车”按钮:
@Html.ActionLink("Add to cart", "addtocart", new id = item.id , new @class = "btn btn-danger addtocart", @style = "width:90px;background-color:rgb(60, 60, 60)" )
【问题讨论】:
分享html,添加到点击和表单,如果你用过 @AhmedSunny 再检查一次,我没有添加到购物车的表单,只有一个按钮 【参考方案1】:您收到 AJAX 错误的原因是您的控制器方法中的参数与您在 AJAX 调用中的参数不匹配。
public JsonResult addtocart(int id)
data: "Name": name, "Price": price ,
您需要在 AJAX 调用中传递产品 ID。
例如
data: "id": productid ,
【讨论】:
以上是关于MVC 从控制器获取数据以使用 AJAX 查看有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章
codeigniter 从控制器返回获取数据以通过 Ajax 请求查看