我的观看页面代码是
<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操作方法... Plz告诉我这些点击事件的解决方案重定向到emptycart操作方法......
答案 0 :(得分:0)
您有一个带有提交按钮的表单,其默认操作是提交表单。由于您有一个提交表单的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');
}
})
});