我的视图页面代码是
<form method="post">
<input id="Submit1" type="submit" value="Deleteallcarts" />
</form>
<input type="submit" class="product_btn" value="Buy Now" />
<script type="text/javascript">
$("#Submit1").click(function () {
$.getJSON('@Url.Action("EmptyCart", "home")',
alert('jhfg'),
function (data) {
if (data = "123") {
alert('Cart is empty');
}
}
)
});
我的控制器操作是
[HttpPost]
[ActionName("Details")]
public ActionResult BuyNow(int id)
{
return RedirectToAction("Details", "Home");
}
public ActionResult EmptyCart()
{
System.Web.HttpContext.Current.Application.RemoveAll();
if (System.Web.HttpContext.Current.Application["cartList"] != null)
{
}
return RedirectToAction("Index", "Home");
}
public ActionResult Details(int id)
{
return View();
}
每当我在调试模式下单击Deleteallcarts按钮时,它就会转到Buynow操作方法。。。请告诉我这些点击事件重定向到emptycart操作方法的解决方案。。。
您有一个带有提交按钮的表单,其默认操作是提交表单。由于您有执行表单提交的ajax请求,因此需要防止默认操作
$("#Submit1").click(function (event) {
//prevent the action of the click which is to submit the form
event.preventDefault();
$.getJSON('@Url.Action("EmptyCart", "home")', function (data) {
if (data = "123") {
alert('Cart is empty');
}
})
});
我建议使用提交事件处理程序,而不是像这样的点击事件处理程序
$("form").submit(function (event) {
//prevent the action of the click which is to submit the form
event.preventDefault();
$.getJSON('@Url.Action("EmptyCart", "home")', function (data) {
if (data = "123") {
alert('Cart is empty');
}
})
});