从按钮点击执行的MVC Razor Ajax调用

3

我正在努力让一个按钮点击调用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!");
        }

你的代码看起来没问题。检查一下浏览器控制台是否有任何 JavaScript 错误,这可能是导致你的 JavaScript 代码无法按预期工作的原因。 - Shyju
请注意,model-view-controller标签是用于有关该模式的问题。ASP.NET-MVC实现有一个特定的标签。 - user3559349
jQuery已加载?脚本位于页面底部还是包含在$(document).ready()中? - user3559349
1个回答

2

请尝试这段代码。

$(document).ready(function(){

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接