我的$.getJson方法正在调用我的添加车功能项目中的另一个操作



我的视图页面代码是

<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');
        }
    })
});

最新更新