使用MVC Controller在Ajax调用中不显示警报

时间:2014-03-27 03:58:39

标签: jquery asp.net-mvc asp.net-mvc-4

我有mvc 4控制器方法来使用AJAX方法获取一些数据。不幸的是它不起作用。我在成功和错误领域做了一些事情。我需要知道这段代码中的错误。

Ajax方法:

$(function () {
    $('#btnSave').on('click', function (event) {
        event.preventDefault();
        debugger;
        var country = $('#cnname').val();
        var customerID = $('#CustomerId').val();
        if (country == "United Kingdom") {
            if (800 <= $('#SrcAmt').val() < 2000) {
                $.ajax({
                    type: 'GET',
                    url: '/CustomerIdentity/IdentityList',
                    data: { 'customerId': customerId },
                    success: function (data) {
                        alert('ok');
                    },
                    error: function (event) {
                        alert('fail');
                    }
                });
            }
        }
    });
});

MVC控制器:

public JsonResult IdentityList(int customerId)
        {
            var customeridentity = db.CustomerIdentity.Include(c => c.Customer).Include(c => c.CountryIssued)
                .Where(item => item.CustomerId == customerId);
            if (customeridentity.Count() > 0)
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(false, JsonRequestBehavior.AllowGet);
            }
        }

2 个答案:

答案 0 :(得分:0)

我从未见过你以前遇到的问题。可能有3种问题:

<强> 1。逻辑错误 您是否完全检查了代码,并完全调试了它?你有意外的输出吗? 如果没有则转移到第二个错误。

<强> 2。 HTTP方法的类型 我建议您使用POST而不是GET,因为据我所知,您将一些数据发送到ASP WebMethod。

第3。 ASPX文件的路径 尝试删除反斜杠(/)作为/CustomerIdentity/IdentityList的第一个字符,因此它应为CustomerIdentity/IdentityList

奇怪的情况是,当您的浏览器仍包含以前的javascript代码时,请尝试使用隐私浏览标签运行您的代码。

答案 1 :(得分:0)

您应该使用@ Url.Action(“action,”controller“)来获取控制器操作的严格路径,以及操作网址错误的可能性

在Ajax调用的url属性中,这样做:

url:Url.Action("action,"controller")