【问题标题】:MVC Razor Ajax call from button click从按钮单击调用 MVC Razor Ajax
【发布时间】:2016-09-02 21:53:59
【问题描述】:

我正在努力点击按钮来调用 Ajax 函数,该函数然后发布到控制器操作。甚至无法让简单的消息起作用(单击按钮时没有任何反应)。显然,我缺少一些基本的东西。这是什么?

我的 Razor 表单中的 Ajax 脚本:

<script type="text/javascript">
    $('#UseShipAddr').click(function () {
        $.ajax({
            url: "@(Url.Action("UseShippingAddress", "Checkout"))",
            type: "POST",
            data: { id: 50 },
            cache: false,
            async: true,
            success: function (data) {
                alert(data);
            }
        });
    });
</script>

我想用来调用 Ajax 函数的按钮:

<input type="button" value="Use Shipping Address" id="UseShipAddr" />

CheckoutController 中的动作:

// Ajax POST: /Checkout/UseShippingAddress/5
        [HttpPost]
        public ActionResult UseShippingAddress(int id)
        {            
            return Content("It worked!");
        }

【问题讨论】:

  • 您的代码看起来不错。检查您的浏览器控制台是否有任何可能导致您的 js 代码无法按预期工作的 js 错误。
  • 请注意,model-view-controller 标签是针对有关模式的问题。 ASP.NET-MVC 实现有一个特定的标记。
  • jquery 加载了吗?脚本是在页面底部,还是包裹在$(document).ready()中?

标签: ajax asp.net-mvc razor


【解决方案1】:

请试试这个代码。

$(document).ready(function(){

    $('#UseShipAddr').click(function () {

        $.ajax({
            url: "Checkout/UseShippingAddress",
            type: "POST",
            data: { id: 50 },
            cache: false,
            async: true,
            success: function (data) {
            alert(data);
        }
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 2019-12-28
    • 2023-04-03
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多