我想使用ajax将数量信息和产品ID发送到控制器。点击addtocart按钮后没有任何反应,页面没有刷新。我手动刷新了页面,并看到请求的数量已成功添加到购物车。为什么页面不会自动刷新? 你能帮我解决一下这里有什么问题吗?
<script>
$("#addtocart").click(function () {
alert("tıklandı");
var val1;
var val2;
val1 = $(".cart_quantity_input").val();
val2 = $(".product-name-text").attr("id");
alert("değerler alındı");
$.ajax({
type: "POST",
dataType: "json",
url: "/Home/AddToCart/",
data: { id: val2, quantity: val1 },
success: function (Data) {
alert("ajak içindeyiz");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
alert("ajak bitti");
});
</script>
答案 0 :(得分:0)
您正在使用Ajax函数发送数据。我通常会专门使用Ajax来避免刷新页面。如果您想刷新页面,那么您应该使用带有提交按钮的表单来代替控制器。
但是,我希望您的成功函数未被命中的问题是因为您将数据类型指定为json。这告诉Ajax函数,json数据是双向的,所以你的控制器动作应该返回json。作为猜测,它看起来更像是:
public ActionResult AddToCart(int id, int quantity)
{
// blah blah blah
return View();
}
如果是这种情况,那么从ajax调用中删除datatype参数,然后它应该点击成功函数。
但您应该从操作中返回json或ContentResult,然后添加逻辑以根据结果更新购物车显示。如果要刷新整个页面,请使用表单并提交数据。